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

Posted stephen-qin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了new和malloc申请内存失败后的处理相关的知识,希望对你有一定的参考价值。

1.c++ 标准 new 失败是抛出异常的,Visual C++ 6.0中返回一个NULL指针.

使用new(std::nothrow)可以保证失败时返回NULL;

因此完全可以 #define new new(std::nothrow) .

2.使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为“空指针”

3.申请内存失败的原因:程序用完了所有的可用内存.

以上是关于new和malloc申请内存失败后的处理的主要内容,如果未能解决你的问题,请参考以下文章

细说new与malloc的10点区别

细说new与malloc的10点区别

new/malloc

C++中new申请内存失败抛出异常的处理

new和malloc的区别

new与malloc的区别struct与class的区别