Оценка функции времени компиляции

Выполнение функции времени компиляции (или оценка функции времени компиляции, CTFE) - это способность компилятора, который обычно компилирует функцию в машинный код и выполняет ее во время выполнения, для выполнения функции во время компиляции. Это возможно, если аргументы функции известны во время компиляции, а функция не ссылается на глобальное состояние и не пытается изменить его (это чистая функция).

Даже если известно значение только некоторых из аргументов, компилятор все равно сможет выполнить некоторый уровень выполнения функции времени компиляции (частичная оценка), возможно, создавая более оптимизированный код, чем если бы не было известно ни одного аргумента.

Эта техника присутствует в языке программирования D и в более ранних версиях шаблонного метапрограммирования C++.

В C++11 эквивалентный метод известен как обобщенные константные выражения.

через: статья в Википедии