unique_ptr和make_unique的异常

时间:2019-06-27 09:28:54

标签: c++ memory smart-pointers

就异常而言,我对std::unique_ptrstd::make_unique感到困惑。

我相信unique_ptrnoexcept,但是make_unique实际上可以抛出std::bad_alloc

如果我在.hpp文件上有此文件:

std::unique_ptr<MATRIX[]> matrix; 

我将在.cpp文件中称其为

std::make_unique<MATRIX[]>(256);
  1. 分配是否真的会失败?
  2. 在分配失败的情况下是否应该添加处理?
  3. 如果我要添加异常处理,代码应该如何?

谢谢!

0 个答案:

没有答案