C++ std::nothrow
创始人
2024-03-19 16:45:48
0

我们知道,当我们写程序时,栈区的内存是非常小的,如果是写那种大型的项目,不够用是很正常的,所以我们需要在堆区申请内存;

但是如果在堆区申请了大量的内存,导致没有空间了,那么程序就会崩溃,很烦人;我们做程序,想要的并不是崩溃,因为程序一旦崩溃就代表什么都做不了;我们需要的是如果内存不足,程序不要崩溃掉,返回一个错误或者空地址就行了,我们根据返回值在来进行不同的操作;这就要用到std::nothrow了

以我自己的电脑为例,先在栈区分配内存:

先在栈区申请10 0000*4字节的内存,运行一下,程序正常,并没有崩溃

加大申请空间100 0000*4 看看是否会崩溃掉:

程序出现了异常;

那么我们换一种方式,在堆区申请:

没有问题,那么加大申请空间到1000 0000*4 :

还是没有崩溃,那么继续:

因为堆区内存空间与计算机的物理内存有关,大家计算机申请的最大值可能不一样,我这里到5 0000 0000*4就崩溃了,如下:

这里需要注意,弹出如下窗口,或者程序退出代码不为0才叫程序崩溃:

如果你连编译都通过不了,那不叫崩溃,那是语法出错了;程序运行死掉了才叫崩溃,编译都通过不了,肯定是语法问题,如下:

申请了太多了编译是无法通过的;

大家注意,申请堆区空间需要编译通过、循行卡死才能使用我们的std::nothrow 

我这里申请到5 0000 0000*4字节的时候编译能通过,但是一运行就死掉了,很烦

我们可以使用std::nothrow

在new后面加std::nothrow意思就是,如果空间不足,返回nullptr,程序不会崩溃,如下:

可以看到,没有崩溃,那么我们就可以根据返回值,进行业务处理了,如下:

这样就达到我们的目的了,程序也没有崩溃掉;

关于std::nothrow的知识就总结到这里了,感谢观看! 

相关内容

热门资讯

盘点中国九大民族英雄人物故事 盘点中国九大民族英雄人物故事  在漫漫历史长河中,总有这样一群人:他们有着精深的智慧,远大的抱负,无...
江滨公园作文300字 江滨公园作文300字(精选26篇)  在我们平凡的日常里,大家总少不了接触作文吧,作文要求篇章结构完...
过小年作文 过小年作文(通用27篇)  在学习、工作、生活中,大家都经常看到作文的身影吧,作文一定要做到主题集中...
我们是一家人 我们是一家人俗话说的好,五十六个民族,五十六朵花,五十六个兄弟姐妹是一家。十一时我们了甘南,最使我难...
清香四溢的味道作文 清香四溢的味道作文  在日复一日的学习、工作或生活中,许多人都写过作文吧,作文根据体裁的不同可以分为...
热爱祖国作文550字 热爱祖国作文550字(通用6篇)  在我们平凡的日常里,大家都尝试过写作文吧,作文是从内部言语向外部...
我就是一道风景100字作文 我就是一道风景100字作文如果觉得很不错,欢迎点评和分享~感谢你的阅读与支持!  生活中处处充满了风...
我的二三事作文500字 我的二三事作文500字(精选23篇)  每个人都有零星片段的事情,你的二三事有哪些呢?接下来小编搜集...
风雪同路 风雪同路摔倒的日子就不要站立恶劣的天气我接受你的洗礼风不解行人的匆匆神色雪不理行人摔倒的印记风不会因...
描写树的好句作文 描写树的好句作文  无论是中原大地,还是天涯海角,柳树种在哪里,就活在哪里,长在哪里。  在潇潇的春...
我的自信心作文 我的自信心作文(精选29篇)  在学习、工作或生活中,大家总少不了接触作文吧,作文根据写作时限的不同...
小七孔桥景区作文 小七孔桥景区作文  无论在学习、工作或是生活中,大家都不可避免地会接触到作文吧,作文是从内部言语向外...
感恩有你作文 感恩有你作文(集锦15篇)  在平平淡淡的日常中,大家对作文都不陌生吧,作文是人们以书面形式表情达意...
幸福就是这么简单作文600字 幸福就是这么简单作文600字  在平凡的学习、工作、生活中,大家或多或少都会接触过作文吧,作文是一种...
成长的痕迹 -作文 成长的痕迹 -作文小时候,当我们咬下一小口好酸好酸的橘子,总是会狠狠的闭上眼睛,嘴角却是上弧,成长的...
作文 约定 作文 约定还记得吗?那一天,我嘴馋,受不住桌底零食的诱惑,偷偷和你在课堂里吃起来,你一口,我一口,嘴...
苹果作文400字 苹果作文400字(精选50篇)  在日常学习、工作或生活中,大家都接触过作文吧,借助作文人们可以实现...
新疆之旅-喀纳斯湖1000字... 新疆之旅-喀纳斯湖1000字作文新疆之旅——喀纳斯湖1000字作文旅行的第三天早上,我们游览的是新疆...
《温暖》作文500字 关于《温暖》作文500字四篇  在日常生活或是工作学习中,许多人都有过写作文的经历,对作文都不陌生吧...
会笑的眼睛作文850字 会笑的眼睛作文850字  进入新的班级,每个人的内心或许都曾是无助的,孤寂的,陌生的。然而,她给我帮...