0

是否boost::shared_ptr<int> ptr制作副本

*ptr.get() = 5;

假设refcount3,在上面的行之后它会留下3吗?或者会发生什么?会分配新对象吗?

4

1 回答 1

1

不,它不会复制,因为这样该对象将不再被共享。

此外,无需显式调用get()

*ptr = 5;

这对引用计数没有影响。

(创建一个新的共享对象ptr = boost::make_shared<int>(5):)

于 2014-04-24T12:04:43.260 回答