VC++ Debug编译方式

字节填充

VC++Debug编译方式下,new的内存用0xcd(助记词为Cleared Data)填充,防止未初始化;

delete后,内存用0xddDead Data)填充,防止再次被使用。

这样有利于调试内存错误。之所以选择这样的填充模式,是因为:

  A 大数,若被当成指针就会越界;

  B 奇数,指针通常指向偶数地址;

  C 0,这样不会和NULL混淆。

Release编译方式下不会用这些字节填充。

原文地址:https://www.cnblogs.com/LWJin/p/6058478.html