C++模板的类的展开

突然明白了C++模板的类的展开 也就是C++模板的递归
template
struct sum {
enum {
value = i + sum::value
};
};

// 对i = 1特化
template<>
struct sum<0> {
enum{
value = 1
};
};

int main() {
std::cout << sum<20>::value << std::endl; return 0; } 当实例化模板类的时候需要传递 模板参数 c++的语法使用classname 也就是 xxx不同就是不同的模板,也就是他实际的值不同就是不同的模板类 对应上面的类就是 sum<20> sum<19> sum<18> sum<17> sum<16> … sum<0> 直到最后一个结果0

C++模板的类的展开最先出现在Python成神之路

版权声明:
作者:lichengxin
链接:https://www.techfm.club/p/16611.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>