20170825_malloc和new申请内存失败后的处理
// malloc 的写法
char* buffer = (char*)malloc(1024);
if(buffer)
{
printf("malloc success!\r\n");
}
free(buffer);
buffer=nullptr;
// new的写法
try
{
char* buffer = new char[1024];
}
catch(...)
{
printf("operator new error!\r\n");
}
delete [] buffer;
对于malloc方式申请的内存,通过是否是零指针区别;
对于new方式申请的内存,通过C++异常机制处理。
细节决定成败!