学习模板元编程1

#include <cstdlib> #include <iostream> using namespace std; template<int N> struct Fib { public: enum{value = Fib<N-1>::value * N}; }; template<> struct Fib<0> { public: enum{value = 1}; }; int main(int argc, char *argv[]) { Fib<4> f4; cout<<f4.value<<endl; system("PAUSE"); return EXIT_SUCCESS<br />

 

 

 

几月前就接触到了模板元编程,今天在公司大致看了下 感觉还不错就写下了以上代码

 

感觉还不错

 

继续学习啊

 

#include <cstdlib> #include <iostream> using namespace std; template<int N,int M> struct power { public: enum{value = power<N,M-1>::value * M}; }; template<int N> struct power<N,0> { public: enum{value = 1}; }; int main(int argc, char *argv[]) { power<6,7> p; cout<<p.value<<endl; system("PAUSE"); return EXIT_SUCCESS; }

再来一个偏特化的例子如下:采用 dev c++编程

 

你可能感兴趣的:(学习模板元编程1)