首页 > 解决方案 > unique_ptr 和 make_unique 的异常

问题描述

我很困惑std::unique_ptrstd::make_unique就异常而言。

我相信unique_ptrnoexceptmake_unique实际上可以抛出一个std::bad_alloc.

如果我在 .hpp 文件中有这个:

std::unique_ptr<MATRIX[]> matrix; 

我将在 .cpp 文件中调用它:

std::make_unique<MATRIX[]>(256);
  1. 分配是否有可能实际上会失败?
  2. 如果分配失败,我应该添加处理吗?
  3. 如果我要添加异常处理,那么代码应该是什么样子?

谢谢!

标签: c++memorysmart-pointers

解决方案


推荐阅读