Здравствуйте, chaotic-good, Вы писали:
J>>Вообще, самое простое — это if: J>>Поскольку X — константа времени компиляции, компилятор просто выкинет из результирующей функции все условия, которые, как он уже знает, точно не подходят.
CG>Если сделать X простым параметром и передать в функцию константу то компилятор сделает то же самое (constant folding/propagation).
Ну да, но только если заинлайнится.
А в случае шаблона это произойдет в любом случае.