相关疑难解决方法(0)

std :: unique_ptr用法

std::unique_ptr<int> p1(new int);
std::unique_ptr<int> p2(new int);
p2=p1;
Run Code Online (Sandbox Code Playgroud)

在这里似乎p1不再是"唯一的",因为p2也指它

这是合法的c ++?unique_ptr有copy_semantics吗?如果不是,并且它只有移动语义,那么在将p1分配给p2后p1是否设置为NULL?

编辑:

好的,所以正确的版本是

 p2=std::move(p1)
Run Code Online (Sandbox Code Playgroud)

据此,在此分配后,p1无效?与auto_ptr的区别在哪里?所有权明确规定所有权转让比隐式更安全,因为我认为auto_ptr是这种情况

c++ unique-ptr c++11

41
推荐指数
2
解决办法
5万
查看次数

标签 统计

c++ ×1

c++11 ×1

unique-ptr ×1