//模闆元程式設計加速遞歸
//缺點:模闆元在編譯時處理,無法調試,并且會加大代碼體積
#include<iostream>
using namespace std;
template <int N>
struct data
{
enum{res = data<N - 1>::res + data<N - 2>::res};
};
template <>//模闆具體化
struct data<1>
{
enum{res = 1};
};
template <>
struct data<2>
{
enum{res = 1};
};
int main()
{
cout << data<40>::res << endl;
return 0;
}