概述
1.c++ 标准 new 失败是抛出异常的,Visual C++ 6.0中返回一个NULL指针.
使用new(std::nothrow)可以保证失败时返回NULL;
因此完全可以 #define new new(std::nothrow) .
2.使用 malloc/calloc 等分配内存的函数时,一定要检查其返回值是否为“空指针”,返回空指针表示申请内存失败。
eg:
#define new new(std::nothrow)
char *p = new char[4];
if(p != NULL)
{
strcpy(p, "hi");
}
3.申请内存失败的原因:程序用完了所有的可用内存.
最后
以上就是冷艳白开水为你收集整理的new和malloc申请内存失败后的处理的全部内容,希望文章能够帮你解决new和malloc申请内存失败后的处理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复