之前遇到過(guò)的問(wèn)題-
布爾變量初始值 ,最近又遇到了。
重新整理一下bool在VS2010中的未初始化時(shí)候的值:
|
|
F5 :調(diào)試 |
CTRL+F5:執(zhí)行 |
|
DEBUG |
TRUE |
TRUE |
|
RELEASE |
TRUE |
FALSE |
可以看到DEBUG下,未初始化bool變量的值是可以預(yù)知的。而RELEASE下,行為卻不可確定。如果是RELEASE狀態(tài)下在VS中按F5調(diào)試程序,bool變量的默認(rèn)值為true;若按Ctrl+F5或者直接點(diǎn)EXE執(zhí)行程序,bool的默認(rèn)值為false。
假如程序在調(diào)試模式和執(zhí)行模式的行為不一致,就需要考慮是否是由于未初始化的bool變量引起的。
假如調(diào)用bool的構(gòu)造函數(shù)來(lái)構(gòu)造bool變量,在上面的四種情況下是否是確定的?
bool bTest = bool();