Шаблоны - это то, как я это сделал. он позволяет легко специализировать то, что должно быть специализированным, и предоставляет хороший способ повторно использовать реализации, когда он применяется к нескольким типам.
Тип числа может быть выполнен, но на самом деле это не просто сделать правильно и вводит некоторые ограничения (по сравнению с шаблонами).
Несколько типов просто безнадежно сложны, если вы хотите, чтобы что-то было даже близко к быстрому, точному и простому в обслуживании. Скорее всего, вам придется использовать шаблоны для их правильной реализации, если вы создадите глобальный typedef
.
Шаблоны обеспечивают всю мощь, контроль и гибкость, которые вам понадобятся, и они будут быстрее, чем опубликованные альтернативы (технически, № 2 может быть быстрее, если вы прибегаете к ... шаблонам).