ポインターの所有権を取得するポインター コンテナーが必要です。つまり、要素が削除されるか、コンテナーがスコープ外になると、のようにすべてのポインターが解放されboost::ptr_vector
ます。
QList<QScopedPointer<AbstractClass> >
動作しません (コンパイル エラー、コピー コンストラクターがありませんか?)。
現在、私は を使用してQList<QSharedPointer<AbstractClass> >
いますが、参照カウントとマルチスレッド用の高価なミューテックスを備えているため、やり過ぎのように感じます。
編集: Qt3では非常に同等でしたが、後のバージョンから削除されたQPtrList (@ForEveRに感謝)について知りました。なぜ彼らがそれを削除するのか理解できません。