【发布时间】:2020-10-27 17:01:31
【问题描述】:
我有一个QVector
QVector<const ClassA*> list;
我想知道在这种情况下清理QVector 的最佳方法是什么。
ClassA 不是QObject。
【问题讨论】:
-
您是否使用
new创建这些指针?如果是这样,我建议您查看std::unique_ptr、std::shared_ptr或他们的 Qt 对应项。 -
取决于你所说的干净是什么意思
-
最好的方法是使用
中定义的Qt算法 qDeleteAll()。它仅适用于所有向量元素的delete。如果有必要,您需要致电QVector::clear()。如果要销毁矢量对象,则仅qDeleteAll()就足够了