【发布时间】:2019-07-18 08:00:50
【问题描述】:
如果我使用make_shared 或make_unique 创建指针,我是否必须检查它是否为nullptr,例如:
std::unique_ptr<class> p = std::make_unique<class>();
if (p == nullptr)
{
....
....
}
如果您真的内存不足,std::make_unique 将通过预期。所以你永远不会从std::make_unique 得到一个空指针。
这是正确的吗?
所以当您执行make_shared 和make_unique 时,无需检查nullptr?
【问题讨论】:
-
稍微整理了你的帖子 :)
-
请注意,您也可以通过
if (p)查看。