私はboost::intrusive_ptr
を参照カウントスマートポインタとして使用しています。intrusive_ptrリファレンスカウントとインクルードサイクルのための基本クラスを使用hell
それはそれから継承し、新しいリファレンスカウントクラスの宣言を簡素化するため、これは、良いアイデアだ:私はこのようなものを使用しています。問題は、前方宣言に伴い発生します。参照カウントを処理する2つのメソッドは、型がCRefCountedから継承するかどうかを知る必要があるため、クラス定義でまだ宣言されていない型へのポインタを使用したい場所はたくさんあり、不可能です。
私がintrusive_ptrの宣言の前に依存関係を含めると、それは問題ありませんが、その後、私は多くの循環インクルードを取得します。
このシナリオをどのように扱いますか?
少し虚偽ですが、仮想デストラクタを定義していないため、リンクにCRefCountedクラスに深刻な欠陥があります。 – Timo