天天看点

c++ 内存泄漏崩溃精髓

罪魁祸首是char str[]="test";或char* str=“test”;这两种常量段的使用方式,直接当作内存拷贝数据哪怕1个字节,那么你的程序就出问题了。因为str只声明或是指向地址没有初始化分配内存空间;

char ptr[32];或char *ptr=new char[32]数据拷贝长度在32个字节以内为安全,ptr赋值64个字节的数据会出问题;

malloc,calloc申请内存是安全的;因为有了长度约束。但拷贝数据超出定义长度依然会出现崩溃。

所以还是建议使用malloc,calloc。请参考我的内存泄漏排查

c++ 内存泄漏崩溃精髓

继续阅读