C/C++ C++ (std::nothrow)
{
在内存不足时,new (std::nothrow)并不抛出异常,而是将指针置NULL
在一定的环境下,返回一个NULL指针来表示一个失败依然是一个不错的选择。
C++标准委员会意识到这个问题,所以他们决定定义一个特别的new操作符版本,这个版本返回0表示失败。
}
{
object *obj = new (std::nothrow) object();
if(obj != nullptr)
{
return obj;
}
}