templates/functions/fak/fak1.cpp - The factorial function - from Wikipedia. | Lecture 6 - slide 40 : 40 Program 1 |
// Factorial template function from Wikipedia. #include <iostream> #include <string> // The general case: template <int N> struct Factorial { static const int value = N * Factorial<N - 1>::value; }; // The base case of the recursion, via template specialization: template <> struct Factorial<0> { static const int value = 1; }; int main(){ Factorial<5> facBox; std::cout << facBox.value << std::endl; // 120 std::cout << Factorial<10>::value << std::endl; // 3628800 }