20170825_malloc和new申请内存失败后的处理

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++异常机制处理。


细节决定成败!




你可能感兴趣的:(C++程序员面试宝典)