この質問をしてテンプレートについてたくさん読んだ後、クラステンプレートの次の設定が理にかなっているのかどうか疑問に思います。
、などのResourceManager
いくつかの特定のリソースのみをロードするというクラステンプレートがあります。明らかに、ResourceManager.hでクラステンプレートを定義します。ただし、明示的なインスタンス化はわずかしかないため、次のようなことを行うのが適切でしょうか...ResourceManager<sf::Image>
ResourceManager<sf::Music>
// ResourceManager.cpp
template class ResourceManager<sf::Image>;
template class ResourceManager<sf::Music>;
...
// Define methods in ResourceManager, including explicit specializations
要するに、私はテンプレートクラスとそのメソッドの宣言と定義を処理するための最もクリーンな方法を見つけようとしています。その一部は明示的な特殊化である可能性があります。これは特殊なケースであり、使用される明示的なインスタンス化はごくわずかであることがわかっています。