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

|| 有人可以通过以下方式解释boost shared_ptr手册的含义:   如果您使用unique()实现   复制就写,不要依赖   存储指针时的特定值   是零。 谢谢。     
已邀请:
写入时复制是一种存储方案,其中具有重复值的对象的副本由单个对象表示。仅当您尝试更改一个对象时,它才会被复制到一个新的唯一对象。 Boost通过告诉您给定的“ 0”是否支持多个参考来支持这一点。如果是这样,则写入该对象将需要进行复制。 该手册说,如果在这种方案中有NULL指针,则它们可能会报告为唯一或不唯一。实际上,Boost通过允许这样的操作也很慷慨。     
基本上,这意味着如果您的“ 0”没有指向任何内容,则可能会或可能不会说它是唯一的。但是,您应该知道,几乎所有主要的字符串库都弃用了COW,并不允许使用C ++ 0x,因为它基本上很烂,因此您在执行此操作时要小心。     

要回复问题请先登录注册