1、std::nothrow介绍

 

1).malloc分配时,如果内存耗尽分配不出来,会直接返回NULL;

2.)早期C++版本,new分配时,如果内存耗尽分配不出来,也会直接返回NULL;

我们可以使用关键字nothrow,来使得程序不抛一场

 

 

2、举例说明

 

一个没有用nothrow,用了try捕获,一个用了nothrow

C++之用std::nothrow分配内存失败不抛异常_其他

结果:

C++之用std::nothrow分配内存失败不抛异常_c++_02

 

C++之用std::nothrow分配内存失败不抛异常_分配内存失败不抛异常_03

结果:

C++之用std::nothrow分配内存失败不抛异常_其他_04