Специализация метода шаблона C++ по признакам типа ⇐ C++
-
Гость
Специализация метода шаблона C++ по признакам типа
Я работаю на C++11 и создаю шаблон класса. Я хочу оптимизировать определенные методы в соответствии с особенностями типа параметра шаблона (т. е. с плавающей запятой/целым числом, со знаком/без знака и т. д.). Я знаю, что этого можно достичь путем специализации шаблона для каждой конкретной комбинации характеристик, но это слишком громоздко.
Вместо этого у меня есть кое-что работающее, используя частичную специализацию шаблона фиктивной оболочки структуры (потому что, насколько мне известно, частичная специализация работает только со структурами/классами).
Рабочий пример здесь:
#include #include шаблон структура А { А( Т _x ) : х(_x) {} template структура темп {}; шаблон структура temp { static constexpr U diff( A const &left, A const &right ) noException { std::cout
Я работаю на C++11 и создаю шаблон класса. Я хочу оптимизировать определенные методы в соответствии с особенностями типа параметра шаблона (т. е. с плавающей запятой/целым числом, со знаком/без знака и т. д.). Я знаю, что этого можно достичь путем специализации шаблона для каждой конкретной комбинации характеристик, но это слишком громоздко.
Вместо этого у меня есть кое-что работающее, используя частичную специализацию шаблона фиктивной оболочки структуры (потому что, насколько мне известно, частичная специализация работает только со структурами/классами).
Рабочий пример здесь:
#include #include шаблон структура А { А( Т _x ) : х(_x) {} template структура темп {}; шаблон структура temp { static constexpr U diff( A const &left, A const &right ) noException { std::cout
Мобильная версия