int Test()
{
double dTest;
if (dTest)
std::cout<<"test success!";
else
std::cout<<"test unseccess!";
}
上面这段程序,在Release版本下可以安全通过,并输出test success!(一直认为double型的局部变量默认赋值是false呐。。汗!!)
但是在Debug版本下就不能通过。(编译可以通过是运行时错误)出现警告是:(The variable 'dTest' is being used without being initialized.)dTest没有给被初始化就是使用了。
当然还有一堆更加复杂的不同。比如:内存分配。反正一句话,Release和Debug是完全不同的东东,,这话Microsoft也说过。
Debug与Release模式差异
本文探讨了Debug与Release两种编译模式的区别,特别是在局部变量初始化方面。Debug模式下未初始化的变量会导致运行时错误,而Release模式则可能不触发此类问题。

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



