Boost shared_ptr:使用unique()在写入时实现复制

pic*_*c11 3 c++ boost smart-pointers

有人可以通过这个解释一下提升shared_ptr手册的含义:

如果使用unique()在写入时实现复制,则在存储的指针为零时不要依赖特定的值.

谢谢.

Pot*_*ter 5

Copy-on-write是一种存储方案,其中具有重复值的对象的副本由单个对象表示.只有当您尝试更改一个时,它才会复制到一个新的唯一对象.

Boost通过告诉您某个给定shared_ptr是否支持多个引用来支持此功能.如果是,则写入对象将需要复制.

手册说如果你在这样的方案中有NULL指针,他们可能会报告是唯一的.真的,即使允许这样的操作,Boost也很慷慨.