微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决Boost shared_ptr:使用unique实现写时复制

|| 有人可以通过以下方式解释boost shared_ptr手册的含义:   如果您使用unique()实现   复制就写,不要依赖   存储指针时的特定值   是零。 谢谢。     

解决方法

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。