【发布时间】:2012-12-04 10:31:06
【问题描述】:
C++11 是否有与boost::intrusive_ptr 等价的东西?
我的问题是我的 C++ 代码有一个 C 风格的界面。接口的两端都可以使用 C++,但出于兼容性原因,需要公开 C 接口。我不能使用std::shared_ptr,因为我必须通过两个(或更多)智能指针来管理对象。我无法找到类似boost::intrusive_ptr 的解决方案。
【问题讨论】:
-
您可以使用带有自定义删除器的
unique_ptr的包装器来实现intrusive_ptr,从而使您可以创建线程安全(或不安全)的引用计数。传递不是那么容易(需要移动,或手动操作引用计数),但是是可能的。
标签: c++ c++11 boost shared-ptr smart-pointers