Pie*_*tro 1 c++ unique-ptr c++14
我没有找到有关如果将null指针传递给会发生什么的任何文档std::make_unique。
是否抛出异常?
std :: make_unique将所有传递给匹配的目标构造函数的参数转发。因此,如果通过nullptr,它将搜索接受nullptr_t的构造函数(或任何匹配的构造函数)。如果不存在,它将无法编译。
class A
{
public:
A(void*) { ... } // could also be A(int*) or template <typename T> A(T*)
};
...
std::make_unique<A>(nullptr); // constructs an A by calling A(void*), passing nullptr.
Run Code Online (Sandbox Code Playgroud)
std::make_unique 旨在通过将参数转发到包装对象的构造函数来构造包装的对象。
传递nullptr它对您的意思没有任何意义。如果您需要清除std::unique_ptr公正通话的内容reset()。
| 归档时间: |
|
| 查看次数: |
322 次 |
| 最近记录: |