【发布时间】:2016-07-23 06:23:43
【问题描述】:
如图here,std::unique_ptr 有两个空指针的constexpr 构造函数:
constexpr unique_ptr();
constexpr unique_ptr( nullptr_t );
我对这两个构造函数有两个问题:
-
为什么我们需要两个?我们不能只声明一个:
constexpr unique_ptr( nullptr_t = nullptr ); -
constexpr真的有用吗?我尝试在我的代码中这样做,但它没有编译(g++ 6.1.0,-std=c++14):constexpr std::unique_ptr<int> p; // error: the type 'const std::unique_ptr<int>' of constexpr variable 'p' // is not literal because 'std::unique_ptr<int>' has a non-trivial destructor
【问题讨论】:
-
链接回同一个问题
-
LOL 复制/粘贴失败。但是 oldrinb 的答案链接到我要链接的那个。