【发布时间】:2012-01-05 08:43:22
【问题描述】:
我们知道共享所有权有两种基本策略:
- 非侵入性和
- 侵入性
请帮助我理解这些策略的含义是什么? 什么是实施细节?
【问题讨论】:
标签: terminology smart-pointers
我们知道共享所有权有两种基本策略:
请帮助我理解这些策略的含义是什么? 什么是实施细节?
【问题讨论】:
标签: terminology smart-pointers
非侵入式是指智能指针对象提供引用计数。
例如:std::shared_ptr、boost::shared_ptr
侵入性是指智能指针依赖于存储对象嵌入引用计数(即存储对象负责引用计数)。
例如:boost::intrusive_ptr
注意:侵入式指针需要“粘合”代码来增加和减少存储对象内的引用计数器。在 boost 库中,您必须为 intrusive_ptr 对象提供 2 个函数来执行引用计数器的递增和递减。
smart pointers (boost) explained 这里没有关于我的问题的直接答案,但作为智能指针语义的快速概述非常有用。
【讨论】: