是否可以保证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?
最佳答案
是的,您可以在nullptr
之后将其与move
比较,并保证比较相等。
从§20.8.1/4 [unique.ptr]
(成员p
之前被描述为-唯一指针是对象u
,它存储指向第二个对象p
的指针)
关于c++ - 是否可以保证unique_ptr在 move 后存储nullptr?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24061767/