int Result;
//主模板
template<int N> //模板
class Fibonacci
{
public:
enum{Result = Fibonacci<N-1>::Result + Fibonacci<N-2>::Result };
//枚举,带有隐含计算
};
//完全特化模板
template<>
class Fibonacci<1> //带常参数1的构造函数
{
public:
enum { Result = 1 };
//给枚举赋初值1
};
//完全特化模板
template<>
class Fibonacci<0> //带参数0的模板
{
public:
enum { Result = 0 };
//给枚举赋初值0
};
int main()
{
int i=20;
//cin>>i;
std::cout << "Fibonacci数是:" << Fibonacci<0>::Result << std::endl;
std::cout << "Fibonacci数是:" << Fibonacci<10+13>::Result << std::endl;
//隐含计算
system("pause");
return 1;
}
本文详细介绍了如何使用模板特化和隐含计算在C++中实现斐波那契数列的高效计算。通过提供完全特化模板和枚举隐含计算的方法,展示了模板化编程的强大能力。
1395

被折叠的 条评论
为什么被折叠?



