C++ New 库 - nothrow
描述
这是一个 nothrow 常量,该常量值用作 operator new 和 operator new[] 的参数,以指示这些函数在失败时不应抛出异常,而是返回一个空指针。
以下是 std::nothrow 的声明。
extern const nothrow_t nothrow;
参数
none
返回值
none
异常
No-throw guarantee − 这个成员函数从不抛出异常。
数据竞争
none
示例
在下面的 std::nothrow 示例中。
#include <iostream> #include <new> int main () { std::cout << "Attempting to allocate..."; char* p = new (std::nothrow) char [1024*1024]; if (p==0) std::cout << "Failed!\n"; else { std::cout << "Succeeded!\n"; delete[] p; } return 0; }
输出应该是这样的 −
Attempting to allocate...Succeeded!