突然 悟出一个道理,模板的递归,是因为实例化模板的的参数值在改变
比如 实际传个参数是10 ,但是自己有调用N-1 ,得到9这个参数
知道递归 到最后一个实例化参数
如下模板 当n=0的时候,就是直接使用 ret=1的值,返回了,也就终止了递归 哈哈 我好聪明啊
// 计算 N 的阶乘 N!
template<int N>
class aTMP{
public:
enum { ret = N * aTMP<N-1>::ret };
};
template<>
class aTMP<0>{
public:
enum { ret = 1 };
};