字节填充
VC++在Debug编译方式下,new的内存用0xcd(助记词为Cleared Data)填充,防止未初始化;
delete后,内存用0xdd(Dead Data)填充,防止再次被使用。
这样有利于调试内存错误。之所以选择这样的填充模式,是因为:
A 大数,若被当成指针就会越界;
B 奇数,指针通常指向偶数地址;
C 非0,这样不会和NULL混淆。
在Release编译方式下不会用这些字节填充。
字节填充
VC++在Debug编译方式下,new的内存用0xcd(助记词为Cleared Data)填充,防止未初始化;
delete后,内存用0xdd(Dead Data)填充,防止再次被使用。
这样有利于调试内存错误。之所以选择这样的填充模式,是因为:
A 大数,若被当成指针就会越界;
B 奇数,指针通常指向偶数地址;
C 非0,这样不会和NULL混淆。
在Release编译方式下不会用这些字节填充。
转载于:https://www.cnblogs.com/LWJin/p/6058478.html