2

C++ コード ベースでなんらかの理由で、侵入参照カウントを使用する必要があるとします。複数のクリーンで適切に定義されたインターフェースを実装することで、クラスが機能を提供することには多くの利点があると聞いたり、見たりしています。つまり、インターフェイスを定義する抽象クラスから継承する必要があります。

侵入参照カウントを実装する一般的な方法は、参照カウントの実装を提供する基本クラスから継承することです。それは基本クラスでなければならないので、少し複雑すぎるように見えるダイヤモンドの継承に入ります。より良い方法はありますか?

侵入参照カウントを使用しない場合は、些細なことのように思えます。侵入参照カウントと複数の抽象クラスの継承のこの組み合わせを行っている人はいますか?

4

1 に答える 1

0

はい、できます!Loki テンプレート ライブラリには、MS COM インターフェイス ポインターをカバーするために使用されるSmartPtrにこのようなポリシーを導入する方法のサンプルがあります。

COMRefCountedでクラスを探しSmartPtr.hます。

于 2013-07-13T11:22:54.633 に答える