Я увидел некоторый код, в котором разработчик определил шаблон класса в файле .h и определил его методы в файле .hpp. Это застало меня врасплох.
Существуют ли особые соглашения в С++ при работе с шаблонами и в каких файлах они должны быть?
Например, у меня был шаблон класса Vector
с методами для векторных операций (добавление, вычитание, точка и т.д.). Я также хотел бы специализировать определенные функции, если аргумент шаблона является float
(операторы сравнения). Как бы вы отделили все это между файлами (укажите ли .h,.hpp,.cpp).