Re[2]: Пример использования шаблонов для оптимизации
От: chaotic-good  
Дата: 27.11.14 12:36
Оценка:
J>Вообще, самое простое — это if:
J>
J>template<int X>
J>void func(...) {
J>   if (X>500) ...
J>   else if (X>50) ...
J>   else if (X>5) ...
J>   else if (X>0) ...
J>   else ...
J>}
J>

J>Поскольку X — константа времени компиляции, компилятор просто выкинет из результирующей функции все условия, которые, как он уже знает, точно не подходят.

Если сделать X простым параметром и передать в функцию константу то компилятор сделает то же самое (constant folding/propagation).
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.