我对 boost 的侵入式指针有点困惑。定义说:
“每个新
intrusive_ptr
实例都通过对函数的非限定调用来增加引用计数intrusive_ptr_add_ref
,并将指针作为参数传递给它。类似地,当 anintrusive_ptr
被销毁时,它会调用intrusive_ptr_release
;当对象的引用计数降至零时,此函数负责销毁对象. 用户应提供这两个函数的合适定义。
这是否意味着我必须实现这些方法,或者我可以做到?关键是,我们使用它是因为函数需要一个侵入式指针。我们在其他地方使用了共享指针,所以只是担心指针是否被管理,并且在没有更多引用时将被删除。