Задав этот вопрос и много читая о шаблонах, мне интересно, имеет ли смысл следующая настройка для шаблона класса.
У меня есть шаблон класса с именем ResourceManager
это будет загружать только несколько конкретных ресурсов, таких как ResourceManager<sf::Image>
, ResourceManager<sf::Music>
и т. д. Очевидно, я определяю шаблон класса в ResourceManager.h.Однако, поскольку существует всего несколько явных примеров, было бы целесообразно сделать что-то вроде ...
// ResourceManager.cpp
template class ResourceManager<sf::Image>;
template class ResourceManager<sf::Music>;
...
// Define methods in ResourceManager, including explicit specializations
Короче говоря, я пытаюсь найти самый чистый способ обработки объявления и определения шаблона.класс и его методы, некоторые из которых могут быть явными специализациями.Это особый случай, в котором я знаю, что будут использоваться только несколько явных примеров.