变量初始化—写程序必有的习惯

帮学妹调试了一个mfc橡皮筋画直线的小程序,给她的时候告诉她这个程序有个小bug,但是没有告诉她bug在哪里,后来她又打电话过来说找不到bug,并且非要我告诉她。后来我发现我当时真的嘴贱了,因为她说她解决不了。她:能不能?…… 我: 额,这个…..好吧,囧~~

问题描述:

在程序运行的时候,如果先画直线,然后你再去点击设置,程序不会产生任何问题,各种功能均可以实现。

但是,如果先点击设置,再去画直线,那么就悲剧了,要等很久,看着屏幕跳动这几根直线,然后再来相应你的操作!

问题解决:

这是一个很诡异的问题,于是直接开始调试吧,在设置的地方设置了一个断点,似乎一切正常,这时候一个变量引起了我的注意,m_bDraw这是一个控制是否相应画线的变量。我一看数值,我晕~设置一个bool变量竟然木有赋值,让我情何以堪啊~

写在最后:

我不知道在其他的语言里变量的初始化要求严不严,但是在vc里面这绝对是一个必须有的习惯,设置变量一定要初始化!否则,就像这位学妹一样,以为自己犯了多么高深的错误,其实现在想想就以我们现在的水平,一般也就是细节上的小错误,遇到问题从细节入手。想起了当年一位学长给我的一句话:你以为你能犯什么高级错误啊?