C++ 中的模板元编程
当我们使用模板编写程序以在编译时进行计算时,这称为模板元编程。
示例代码
#include输出结果using namespace std; template struct power { enum { value = 4*power ::value }; }; template<>struct power<0> { enum { value = 1 }; }; int main() { cout <<”power is:”<< power<7>::value << endl; return 0; }
power is:16384
在上面的例子中,当编译器看到power<7>::value时,它试图创建一个参数为7的power实例,结果证明power<6>也必须创建,因为枚举常量值必须在编译时计算.对于power<6>,编译器需要power<5>,依此类推。最后,编译器使用funStruct<1>::value并且编译时递归终止。这称为模板元编程。
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短