最近一直在看STL和Boost,源码里边好多涉及到模板元编程技术,简单了解一下,备忘(Boost Python中的涉及模板元的部分重点关注一下)。
范例引入
// 主模板 template<int N> struct Fib {enum { Result = Fib<N-1>::Result + Fib<N-2>::Result }; };// 完全特化版 template <> struct Fib<1> {enum { Result = 1 }; };// 完全特化版 template <> struct Fib<0> {enum { Result = 0 }; };int main() {int i = Fib<10>::Result;// std::cout << i << std::endl; }
