MetaProgram意指利用编译器对表达式进行计算的一种编程手法,这样会增加编译的时候,却减少运行期的时间,增加了一定的效率。下面举一个简单的例子:
这段代码用来计算3的N次方,比如我们想获取3的10次方,那么我们可以直接这样就得到了3的10次方的值了。
值得注意的是,下面的Pow3<0>利用了偏特化的威力,所以能够对循环进行终止。
这几天在看这方面的书,记录一下,加深记忆和理解。
本文介绍了一种称为元编程的技术,通过使用C++模板元编程计算3的N次方,展示了如何利用编译器在编译期间执行计算以提高运行时效率。
MetaProgram意指利用编译器对表达式进行计算的一种编程手法,这样会增加编译的时候,却减少运行期的时间,增加了一定的效率。下面举一个简单的例子:
这段代码用来计算3的N次方,比如我们想获取3的10次方,那么我们可以直接这样就得到了3的10次方的值了。
值得注意的是,下面的Pow3<0>利用了偏特化的威力,所以能够对循环进行终止。
这几天在看这方面的书,记录一下,加深记忆和理解。
518
1223