Pub*_*bby 2 c++ null allocation new-operator bad-alloc
如果失败,我知道做一个new(std::no_throw)会设置指针NULL.我也知道普通new会std::bad_alloc在失败时抛出异常.
new(std::no_throw)
NULL
new
std::bad_alloc
如果它抛出,法线new还会设置指针NULL吗?或者我应该将其设置NULL为catch()块?
catch()
And*_*ite 6
在C++中,bad new会抛出一个异常(除非你使用std :: nothrow)并且指针不会被分配,因此它将是new调用之前的任何内容.
但是,您可能对这篇文章感兴趣,该文章讨论了new如您在问题中提到的那样强制在失败时返回null.
归档时间:
14 年,10 月 前
查看次数:
743 次
最近记录:
8 年,4 月 前