使用boost ptr容器和包含智能指针的容器有什么区别?
class A {}
// ptr containers:
boost::ptr_unordered_map<int, A> p;
// containers:
boost::unordered_map<int, boost::intrusive_ptr<A>> m;
答案 0 :(得分:1)
boost::ptr_unordered_map
没有在boost::shared_ptr<A>
它也不需要A
要求的附加boost::intrusive_ptr<A>
对象界面。
这使得它成为管理堆分配对象的一个很好的解决方案,这些对象不需要对包含的对象进行引用计数。