关于新运算符(operator),我有两个问题:
最佳答案
operator new throws a std::bad_alloc exception on failure,除非您明确使用nothrow
版本。因此,不要检查返回值:如果在构造函数调用之后到达下一行,则可以安全地假定构造函数成功。
但是一定要将代码的适当范围的分支包装在try-catch块中:通常不直接在新调用周围,而是在行的某个地方可以调用所有依赖于分配的内容,而没有别的。
更新:但也请参见乔纳森·莱弗勒(Jonathan Leffler)在以下有关new的nothrow变体的评论。
关于c++ - 新运算符(operator)是否应该始终检查是否工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5197732/