2

私はOpenGLでプログラムを書いています。GfxOpenGL コンテキストを保持し、OpenGL ライブラリをラップするクラスがあります。また、TextureOpenGL テクスチャ名 (生成と削除を含む) をラップするクラスもあります。クラスにはTexture当然、暗黙の依存関係がありGfxます。しかし、ポインターではなく RAII がTexture必要なため、クラスはパブリックにアクセスできる必要があると考えています。

Gfx構築されたインスタンスへの依存を表現する最もクリーンな方法は何ですか?

4

1 に答える 1

0

テクスチャがコンテキストなしでは存在できないと仮定すると、この場合、コンストラクター引数が適切であるように見えます。おそらく a std::shared_ptr<Gfx>(これがポインターなしポリシーから免除されることを願っています-私はそれをC++コンストラクトと見なします)。このようにして、少なくとも 1 つのテクスチャが破棄されない限り、Gfx は残ります。

于 2013-08-20T17:19:04.967 に答える