我是靠谱客的博主 冷艳白开水,最近开发中收集的这篇文章主要介绍new和malloc申请内存失败后的处理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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申请内存失败后的处理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部