C++ 新库 - bad_alloc



描述

此异常在内存分配失败时抛出,以及标准operator new和operator new[]定义在无法分配请求的存储空间时抛出的异常类型。

以下是std::bad_alloc的声明。

		
class bad_alloc;

参数

返回值

异常

不抛出保证 - 此成员函数从不抛出异常。

数据竞争

示例

以下示例演示std::bad_alloc。

#include <iostream>
#include <new>
 
int main() {
   try {
      while (true) {
         new int[100000000ul];
      }
   } catch (const std::bad_alloc& e) {
      std::cout << "Allocation failed: " << e.what() << '\n';
   }
}

输出应如下所示:

It will throw an exception error
new.htm
广告