std::nothrow
来自cppreference.com
该页由英文版wiki使用Google Translate机器翻译而来。
该翻译可能存在错误或用词不当。鼠标停留在文本上可以看到原版本。你可以帮助我们修正错误或改进翻译。参见说明请点击这里. |
在头文件 <new> 中定义
|
||
extern const std::nothrow_t nothrow; |
||
std::nothrow
is a constant of type std::nothrow_t used to disambiguate the overloads of throwing and non-throwing <div class="t-tr-text">分配的功能</div>.
原文:allocation functions这段文字是通过 [http://translate.google.com Google Translate] 自动翻译生成的。
您可以帮助我们检查、纠正翻译中的错误。详情请点击[http://en.cppreference.com/w/Cppreference:MachineTranslations 这里]。
[编辑] 示例
#include <iostream> #include <new> int main() { try { while (true) { new int[100000000ul]; // throwing overload } } catch (const std::bad_alloc& e) { std::cout << e.what() << '\n'; } while (true) { int* p = new(std::nothrow) int[100000000ul]; // non-throwing overload if (p == nullptr) { std::cout << "Allocation returned nullptr\n"; break; } } }
输出:
std::bad_alloc Allocation returned nullptr
[编辑] 另请参阅
标签类型来选择一个非投掷“分配的功能” 原文: tag type used to select an non-throwing allocation function (类) | |
分配的功能 (函数) |