智能指针:共享所有权:非侵入式/侵入式策略

时间:2012-01-05 08:43:23

标签: terminology smart-pointers

我们知道共享所有权有两个基本策略:

  • 非侵入性和
  • 侵入

请帮助我了解这些策略的含义是什么? 什么是实施细节?

1 个答案:

答案 0 :(得分:0)

非侵入式是指智能指针对象提供引用计数。 例如:std::shared_ptrboost::shared_ptr

侵入性是指智能指针依赖于存储对象嵌入的引用计数(即存储对象负责引用计数)。 例:boost::intrusive_ptr

注意:侵入式指针需要“粘合”代码来增加和减少存储对象内的引用计数器。在boost库中,您必须为intrusive_ptr对象提供2个函数,以执行引用计数器递增和递减。


smart pointers (boost) explained 我的问题没有直接的答案,但作为智能指针语义的快速概述非常有用。