如果nothrownew返回nullptr,是否调用构造函数?
如果我使用new并获取std::bad_alloc编译器,则不会因为异常而调用构造函数。但是它是如何处理nothrow new我们在每种情况下都得到指针的原因的呢?本案标准中是否有特殊段落?
回答
[expr.new]/16 ...如果分配函数返回null,则不进行初始化,不调用deallocation函数,new-expression的值为null。
如果我使用new并获取std::bad_alloc编译器,则不会因为异常而调用构造函数。但是它是如何处理nothrow new我们在每种情况下都得到指针的原因的呢?本案标准中是否有特殊段落?
[expr.new]/16 ...如果分配函数返回null,则不进行初始化,不调用deallocation函数,new-expression的值为null。