Fab*_*ian 13 c++ new-operator
我有两个关于new运算符的问题:
新操作员是否无法分配内存?
如果确实有一个对象被创建,那么每次使用new后都应该进行一次测试吗?
15e*_*153 21
operator new会在失败时抛出std :: bad_alloc异常,除非您明确使用该nothrow版本.因此,不要检查返回值:如果在构造函数调用后到达下一行,则可以安全地假设构造函数成功.
nothrow
但是将代码的适当范围的分支包装在try-catch块中:通常不是直接围绕新调用,而是在可以调用依赖于分配的所有内容的行的某个地方,而不是其他内容.
更新:但请参阅Jonathan Leffler在下面的评论中关于new的nothrow变体.
Jon*_*ler 13
new
归档时间:
14 年,6 月 前
查看次数:
5658 次
最近记录:
9 年,8 月 前