我需要一个指针容器来获得指针的所有权——即当一个元素被删除,或者容器超出范围时,它会释放它的所有指针,比如在boost::ptr_vector
.
QList<QScopedPointer<AbstractClass> >
不起作用(编译错误,没有复制构造函数?)。
现在我正在使用QList<QSharedPointer<AbstractClass> >
,但感觉有点矫枉过正,因为它的引用计数和用于多线程的昂贵互斥锁。
编辑:我刚刚了解了QPtrList(感谢@ForEveR),它在 Qt3 中非常等价,但已从更高版本中删除。我只是不明白他们为什么要删除它。