之前遇到過的問題-
布爾變量初始值 ,最近又遇到了。
重新整理一下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();