之前遇到过的问题-
布尔变量初始值 ,最近又遇到了。
重新整理一下bool在VS2010中的未初始化时候的值:
|
F5 :调试 |
CTRL+F5:执行 |
DEBUG |
TRUE |
TRUE |
RELEASE |
TRUE |
FALSE |
可以看到DEBUG下,未初始化bool变量的值是可以预知的。而RELEASE下,行为却不可确定。如果是RELEASE状态下在VS中按F5调试程序,bool变量的默认值为true;若按Ctrl+F5或者直接点EXE执行程序,bool的默认值为false。
假如程序在调试模式和执行模式的行为不一致,就需要考虑是否是由于未初始化的bool变量引起的。
假如调用bool的构造函数来构造bool变量,在上面的四种情况下是否是确定的?
bool bTest = bool();