DEBUG版本中
bool变量不初始化调试显示变量为true
但是代码if( true== b)和if( false == b)都不成立
因为VC调试器认为非零即为true,但是未初始化的字节是0xcd
常量true和false分辨为0和1,所以0XCD不为零也不为一,两个判断都无法进去。
本文深入探讨了在DEBUG版本中,bool变量未初始化时,在VC调试器中显示为true的原因,以及这如何导致if语句无法正确判断的情况。解释了非零值被视为true的调试器规则,以及未初始化字节值0xcd既非零也非一的逻辑处理。
DEBUG版本中
bool变量不初始化调试显示变量为true
但是代码if( true== b)和if( false == b)都不成立
因为VC调试器认为非零即为true,但是未初始化的字节是0xcd
常量true和false分辨为0和1,所以0XCD不为零也不为一,两个判断都无法进去。
8万+
4626
341

被折叠的 条评论
为什么被折叠?