c++ - unique_ptr 和 make_unique 的异常
问题描述
我很困惑std::unique_ptr
,std::make_unique
就异常而言。
我相信unique_ptr
是noexcept
但make_unique
实际上可以抛出一个std::bad_alloc
.
如果我在 .hpp 文件中有这个:
std::unique_ptr<MATRIX[]> matrix;
我将在 .cpp 文件中调用它:
std::make_unique<MATRIX[]>(256);
- 分配是否有可能实际上会失败?
- 如果分配失败,我应该添加处理吗?
- 如果我要添加异常处理,那么代码应该是什么样子?
谢谢!