博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

new 和 malloc 申请内存失败的区别处理

Posted on 2013-02-17 22:11  扬名  阅读(1655)  评论(0编辑  收藏  举报
// malloc 的写法
char* buffer = (char*)malloc(1024);
if(buffer) {
    printf("malloc success!\r\n");    
}
free(buffer);

// new的写法
try {
    char* buffer = new char[1024];
}
catch(...) {
    printf("operator new error!\r\n");
}
delete []buffer;

对于malloc方式申请的内存,通过是否是零指针区别;

对于new方式申请的内存,通过C++异常机制处理。

 

小细节,大问题。