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