一部のインクルード依存関係を排除するために、前方宣言とdポインターを使用しようとしています。多くの場所で読みやすさのためにXListtypedefを使用したことを除いて、すべてがうまく機能しています(例:) typedef QList<X> XList
。
typedef前方宣言の問題の回避策は、継承を使用することですclass XList : public QList<X>{};
。QListには非仮想デストラクタがあります。Qt自身のQStringListが継承QList<QString>
し、ヒープにXListsを割り当てていないという事実を考えると、この回避策に問題がありますか?XListクラスへのヒープ割り当てを明示的に禁止する必要がありますか?