Visual Studio的”烫烫烫“与”屯屯屯“
由于最近需要进行课程设计,我切换到了Visual Studio进行开发,很有幸的是我遇到了经典报错:
原因如下:
VS在处理未初始化的栈内存时,会默认复制0xCC,0xCCCC对应MBCS字符集的”烫“,因此打印”烫烫烫烫“。至于为什么赋值为0xCC,则是因为0xCC对应INT3,当程序继续执行时将会触发异常中断。
当处理未初始化的堆内存时,使用new命令,默认赋值0xCD,0xCDCD对应MBCS字符集的”屯“,因此打印”屯屯屯“。
有一说一啊,相比我之前用过的GCC与Clang,变量的默认赋值可以很大程度减少不确定情况的出现。
本文标题:Visual Studio的”烫烫烫“与”屯屯屯“
文章作者:Raincorn
发布时间:2020-04-25
最后更新:2020-07-28
原始链接:https://blog.raincorn.top/2020/04/25/Visual_Studio_Uninit_Error/
版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可