在c/c++编程中,经过一段时间的人,大都会遇到“变量没有初始化”的bug。
其实避免这个问题的原则极其简单:在任何时候,定义任何变量的时候,都立即初始化。
有时候你会觉得,我足够聪明,知道什么时候应该初始化。
有时候你会觉得,初始化紧跟着定义的代码,没有问题。
但是说不定哪天,你,或者别人,就可能在你的定义和初始化之间插入别的东东。
而由于编译器的原因,这种错误可能会被隐藏到很久以后才会发现。
也可能让发现错误的地方和发生错误的地方差上十万八千里。
总之,变量没有初始化引起的问题一般都极其难以发现,甚至会毫无规律的出现bug。
几乎每一个这样的问题解决起来都耗费巨大的人力。
我个人觉得,凭借处理时的灵活手段来避免问题,这是小聪明。
用简单的利于执行和监督的原则,根除问题,才是大智慧。哈哈,自夸一下。