模板元编程 优化运行效率

模板元编程通过在编译期间计算确定的输入参数,将运行时计算转化为编译时,从而优化程序运行速度。例如,Fibonacci数列的模板元编程实现能预先计算并存储结果,减少运行时开销。在示例中,展示了如何用模板元编程计算Fibonacci数列的第10项,并输出结果。
摘要由CSDN通过智能技术生成

模板元编程之所以能够优化一些计算,是因为她的输入参数完全确定,在编译期间编译器就能够将结果计算出来,与传统的运行时计算相比,将运行时间分摊给了编译时间,从而优化运行速率

    模板元编程可以拓展运用到平方根,阶乘,最大公约数,矩阵求逆或排序等等函数中,只要在编译期间能够获知部分输入参数的算法,都可以采用模板元编程优化,将运行时间分摊到编译中去。


  • template<unsigned N>
  • struct Fib
  • {
  •      enum
  •      {
  •         Val = Fib< N-1 >::Val + Fib<N-2>::Val
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值