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!