模板元编程实现递归

来源:互联网 发布:网络歌手一亿个伤心dj 编辑:程序博客网 时间:2024/06/08 06:44

例如,用递归计算阶乘。

template<unsigned n>struct Factorial{enum{ value=n*Factorial<n-1>::value};};template<>struct Factorial<0>{<span style="white-space:pre"></span>enum{value=1};};

这样,假如要计算4的阶乘,只要Factorial<4>::value就能得到4的阶乘值。

(来自Effective C++)

0 0
原创粉丝点击