开发已经有一段时间了,总结一下。

今天发现有一处图形显示不正确,用printf跟踪发现因为多画了一处,但是

绘图函数调用一次只会画一条,很明显是有另一个函数不知不觉画了。调试了很长一段时间,也没调试出来什么结果,因为bug的出现不规律。后来忽然想到尽管时钟已经关闭,但是它之前产生的消息还是没有清空,仍然会处理,果然如此,在时钟消息中先判断时钟是否关闭,然后再作处理,就没有出现过错误。

前两天还有点感触,没有记下来,现在已经忘了。

今天又想起来一些,接着写。

在家写俄罗斯方块的时候,把==写成=号,结果调试了近一天的时间才发现,以后见了==号就特别有感触。

有些东西尽管知道但是没有用过一时也意识不到,掌握一件事物看多少书用处往往不如动手写写更有感触。

我很久就知道局部变量函数结束后就会释放,前些日子还是范了一个错误。在一个函数体内建了一个局部变量,然后将它的指针传给另一个函数,后来发现结果实一堆乱码,仔细发现这个指针复制了好几次,再其他函数中也用到过,此时最初的函数早已结束,堆栈已经释放,于是造成了错误。

我早也知道const char* 是一个指向const char的指针,我早也知道const修饰的变量默认是static的,前些日子在csdn上看了一个帖子。

还有就是引用,我知道引用其实是变量的别称,也知道当变量不匹配时要 创建一个临时变量。看这个例子:

Void swaplong& a,long& b

{

Long temp;

Temp=a;

A=b;

B=temp;

}

Int a=6,int b=5;

 

Swap(a,b)

结果就是什么都没有发生,交换的仅是临时变量。

但是只有犯过一次错误后对此才有深刻的了解,才能避免不犯另一次错误。