私はそれを行う方法を知りません..
基本的に、各テンプレートの特殊化タイプ (T) がその初期化用に異なるパラメーターを持っている場合、一般化された ResourceCache はどのようにしてリソースをロード/作成できますか?
template< class T>
class ResourceCache{
T* cache[100];
T* LoadResource(different parameters for different T ){//used in a cache miss..
Create( different parameters for different T );
}
}
IResourceParams クラスなどに抽象化を使用すると、ResourceCache はポリモーフィズムを使用せずに独自の既知の型のリソース データを使用できなくなります。コンパイル時機能のprolでのランタイム...私は推測します..
私の現在の試行では、仮想 T* Create() メソッドを持つテンプレート化された IResourceDesc を作成したため、データを追加して Create メソッドを特殊化するために派生する必要がありますが、ResourceCache クラスに IResourceDesc のコレクションを持つことができないため、それはうまくいきません。 (現在読み込まれているものを比較したり、desc によってキャッシュされたリソースを取得したりするためなど)...