liz*_*isk 72 c++ unique-ptr move-semantics c++11
为unique_ptr保证存储nullptr移动之后?
std::unique_ptr<int> p1{new int{23}};
std::unique_ptr<int> p2{std::move(p1)};
assert(!p1); // is this always true?
Run Code Online (Sandbox Code Playgroud)
Pra*_*ian 68
是的,您可以将它与nullptr之后进行比较,move并保证比较相等.
来自§20.8.1/ 4 [unique.ptr]
此外,
u可以根据请求将所有权转移到另一个唯一指针u2.完成此类转移后,以下后置条件成立:
-u2.p等于预转移u.p,
-u.p等于nullptr,
......
(该成员p在前面描述为 - 唯一指针是u存储指向第二个对象的指针的对象p)
Pau*_*ans 10
是.从C++ 2011标准第20.7.1/4节:
此外,您可以根据请求将所有权转移到另一个唯一指针u2.完成此类转移后,以下后置条件保持[...] [unique unique_ptr]等于nullptr ...
| 归档时间: |
|
| 查看次数: |
7127 次 |
| 最近记录: |