小编Ale*_*son的帖子

std :: shared_ptr的唯一副本

我有一个对象(让我们称之为X),可以通过其他对象访问std::shared_ptr.但是,在某些时候,这些对象需要创建一个唯一的非共享X副本,因为它想要修改它.这在某种程度上类似于写时复制,但由于其他一些细节而不完全相同.

基本上我想有这样的语义:

struct Foo
{
  std::shared_ptr<Bar> bar;
  void go()
  {
    // bar.use_count() >= 1
    bar.make_this_object_unique();
    // bar.use_count() == 1
  }
}
Run Code Online (Sandbox Code Playgroud)

c++ c++11

5
推荐指数
1
解决办法
1743
查看次数

标签 统计

c++ ×1

c++11 ×1