1、返回局部变量地址将引起内存错误
2、临时空间过大:操作系统在加载某个应用程序时,都将为其分配一定大小的栈空间,若申请过大的局部变量,可能会引起栈溢出问题。
3、src 和 dst 内存覆盖:在进行字节内存复制时,常会出现这一问题。因为部分系统库函数并没有提供内存覆盖的检测功能,从而导致错误。
如下即是源内存区和目的内存区覆盖的示例:
#include
#inc...
分类:
其他好文 时间:
2014-07-27 11:26:02
阅读次数:
185
c中的const表达着“常量”的意思,更准确地说是“read-only”(只读)的含义。当const与指针相遇时,由于其与*的相对位置不同,会产生不一样的效果。
举例说明
(1)const位于*的左侧
如,const int *p;此时等同于int const *p;
此时,const的含义体现在:*p是只读的。
(1)const位于*的右侧
如,int *const p;
此时,const的含义体现在:p是只读的。...
分类:
其他好文 时间:
2014-07-27 11:25:42
阅读次数:
185
定义:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。
适用地方:中介者模式一般应用于一组对象以定义良好但是复杂的方式进行通信的场合以及想定制一个分布在多个类中的行为,而又不想生成太多的子类的场合。
优点:中介者的出现减少了各个对象的耦合,使得可以独立地改变和复用各个对象类和中介类,比如任何国家的改变不会影响...
分类:
其他好文 时间:
2014-07-27 11:25:32
阅读次数:
187
定义:给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。
适用地:当有一个语言需要解释执行,并且你可将该语言中的句子表示为一个抽象语法树时,可使用解释器模式。如果一种特定类型的问题发生的频率足够高,那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器,该解释器通过解释这些句子来解决该问题。像正则表达式、浏览器应...
分类:
其他好文 时间:
2014-07-27 11:25:22
阅读次数:
198
在前几篇文章中,我们已经见过指针运算的使用场景,并多次使用指针运算来进行验证。这里我们来特别地总结下,指针运算的本质含义。
在c语言中,假设p、pa、pb都是某种类型的指针,这样的运算被称为指针运算:
,前提:pa和pb类型相同。
其本质是
1.。
2.,得到的是逻辑存储单元数,而不是简单的物理字节数。...
分类:
其他好文 时间:
2014-07-27 11:25:12
阅读次数:
228
产品经理&项目经理这两个角色我都挺喜欢的,本身是技术出身,所以可能更适合做项目管理。但在这之前,我得先学学产品的思路,我觉得这对项目管理是很有帮助的。任何角色,可能都得从三脚猫功夫学起,那就是得先模仿师傅出招,没事多打几拳,多挨几拳,或许反应速度就快了,然后才能打出有攻击力的拳头。...
分类:
其他好文 时间:
2014-07-27 11:25:02
阅读次数:
149
史上模仿QQ2014UI最像的一次,教会你如何开发QQ UI。QQUI的一切技术都有涉足!...
分类:
其他好文 时间:
2014-07-27 11:24:52
阅读次数:
191
解题报告
题目传送门
题意:
每天有12节课,一周上7天,一门课在一周有多天上课。求一周最多上几节课。
思路:
把课程看成一个集合,上课的时间看成一个集合,二分图就出来了。
#include
#include
#include
using namespace std;
int n,day[10][15],mmap[500][500],vis[500],cnt,pre[500];...
分类:
其他好文 时间:
2014-07-27 11:24:42
阅读次数:
227
MCS51是keil也相应地做好了很多,也就是有很多对你而言是透明的,是你不必关心的,你所要接触的寄存器数量也很小,在这个时候你更多是写函数,只不过针对这个平台写C程序比在PC上写C控制台程序有了多约束而已。输出也不想控制台那样是打印获得反馈,而是通过I/O口输出,通过外围电路获得反馈。
然后在学完51之后(大概把例程都跑一遍,这个程度就可以了,当然也可以在此基础上玩,有很多好玩的,例如获取红外...
分类:
其他好文 时间:
2014-07-27 11:23:42
阅读次数:
200
解题报告
题目传送门
题意:
n只地鼠,m个洞,老鹰的到达地面的时间s,地鼠的移动速度v,求多少只地鼠会被老鹰吃了。
思路:
地鼠和洞看成两集合,建立二分图。只有当地鼠到洞的时间少于老鹰到地面的时间才连边。
#include
#include
#include
#include
using namespace std;
int n,m,s,v,mmap[500][500],v...
分类:
其他好文 时间:
2014-07-27 11:23:02
阅读次数:
240
UVA 246 - 10-20-30
题目链接
题意:给52张的扑克堆,先从左往右发7张牌,之后连续不断从左往右发7张牌,如果有牌堆形成了以下3种情况(按顺序判断):
1、头两张+尾一张和为10或20或30
2、头一张+尾两张和为10或20或30
3、尾三张和为10或20或30
就把这三张牌拿走,放到总牌堆底(这步要不断执行直到不再满足条件或牌堆没了)
如果有一个牌堆因为这个...
分类:
其他好文 时间:
2014-07-27 11:22:52
阅读次数:
202
朴素Dijkstra不需要用到堆,每次找最小值都得遍历一遍,时间复杂度较高。
点是从编号0到编号n-1的n个点。
以下是模板:
int Dijkstra(int a,int b) //a是起点,b是终点
{
bool visited[maxn]; // 记录访问点
int pos = a, min, dist[maxn]; // pos是个标记点,标记每次最小边对应的...
分类:
其他好文 时间:
2014-07-27 11:22:42
阅读次数:
196
用set构造,优先队列和堆也可以
/*
ID:kevin_s1
PROG:humble
LANG:C++
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#defi...
分类:
其他好文 时间:
2014-07-27 11:22:12
阅读次数:
141
UVA 11987 - Almost Union-Find
题目链接
题意:给定一些集合,操作1是合并集合,操作2是把集合中一个元素移动到另一个集合,操作3输出集合的个数和总和
思路:并查集,关键在于操作2,对于并查集,要去除掉一个结点,如果该结点不是根那就好办了,那么就多开n个结点,每个结点初始父亲都是它的i + n,这样在移动的时候,就不用担心他是根结点了剩下就是普通的带权并...
分类:
其他好文 时间:
2014-07-27 11:21:52
阅读次数:
192
解题报告
题目传送门
题意:
看到题目我就笑了,,,
老师认为这样的两个学生不是一对:
身高相差40以上(年龄都不是距离了,身高又算什么)
不同性别(sad,,,就不允许基友存在呀,,,谁的肥皂掉了,,,)
喜欢不一样的歌曲类型(你总不能要求两人整天听小苹果吧,,,,,,你是我的小丫小苹果,,,,,,)
喜欢一样的运动( they are likely to be fans of...
分类:
其他好文 时间:
2014-07-27 11:21:42
阅读次数:
302
解题报告
题目传送门
题意:
求满足条件的最大集合:集合内任何两个人都没有浪漫关系
思路:
跟POJ2771一样的题,变的简单多了。POJ2771解题报告
#include
#include
#include
#include
using namespace std;
int n,mmap[550][550],pre[550],vis[550];
int dfs(int x)...
分类:
其他好文 时间:
2014-07-27 11:21:32
阅读次数:
212
用了和3Sum差不多一样的思路,二分查找。关键要剪枝,但是却在剪枝那里犯了很多错误。
然后原来有一个更加快的思路O(n^2).
#include
#include
#include
#include
using namespace std;
class Solution {
public:
int threeSumClosest(vector &num, int ta...
分类:
其他好文 时间:
2014-07-27 11:21:04
阅读次数:
165