问题描述
|
这个问题已经在这里有了答案:
解决方法
扩展Colin的answer- auto_ptr不能用于容器,因为它不能被复制。您正在寻找的是引用计数的智能指针-共享指针或侵入式指针都可以完成这项工作。 Boost为您提供了几个智能指针-包括shared_ptr和intrusive_ptr。最有可能(根据您的原始问题推断)boost :: shared_ptr是您想要的。
,像这样:
提升smrtpntr,或者您可以对模板进行专门化处理,以删除其析构函数中的对象,如果不谨慎操作,可能会产生意想不到的后果。
,正如Colin和MarkD所建议的那样,在使用智能指针矢量的另一面,您也可以使用boost :: ptr_vector