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