Спецсеминар "Разработка свободного ПО": http://uucode.com/oss2004/. 14-я лекция, 11 декабря 2004.
Вычисление факториала в процессе компиляции программы:
template<int N>
struct Factorial {
enum { value = N * Factorial<N-1>::value };
};
struct Factorial<1> {
enum { value = 1 };
};
int f7 = Factorial<7>;
Primzahlen von Erwin Unruh -- выводит список простых чисел в виде сообщений об ошибках компиляции.
"Я всегда думал, что шаблоны C++ -- это изобретения Дьявола, и теперь я в этом полностью уверен."
Польза: