一个简单的问题,使用一个对象后是否合法,该对象在移动后拥有一个唯一的指针,并在未被移动的情况下继续使用唯一指针?
答案 0 :(得分:2)
该标准保证移动的unique_ptr
确实比较等于nullptr
。 N4659 [unique.ptr] / 4:
此外,
u
可以根据请求将所有权转让给另一个唯一指针u2
。完成此类转移后,以下后置条件成立:
- (4.1)
u2.p
等于转移前u.p
,- (4.2)
u.p
等于nullptr
和- (4.3)如果保留转移前
u.d
状态,则此状态已转移至u2.d
。
这些保证也意味着从已经搬离的那个移动是安全的。