什么是元编程

元编程是一种程序设计技巧,利用元函数在编译期间完成特定计算,提高运行性能。C++11的constexpr关键字支持编译时求值,例如静态断言static_assert用于编译期间的检查。元函数可分为数值元函数,如constexpr修饰的函数、类模板,以及类型元函数,如用于类型计算的类模板。在实际编程中,元函数的范围广泛,不仅限于数值和类型计算。


    元编程的英文名字是Meta Programming,也称为模板元编程,可以理解为一种编程手法,用来实现一些比较特殊的功能。元编程一般和“递归”这个词有比较密切的联系,代表着元编程这种编程手法中多数都会用到递归编程技术。

    由于元编程这种手法有其特殊性,所以许多资料上会将元编程和泛型编程分开来说。其实模板编程主要应用再两个方面:1.泛型编程 2.元编程
(1)泛型编程:重点突出的是“通用”的概念,这个“泛”字就是通用的意思,程序员不需要关心具体的类型。
(2)元编程:重点突出的是一种程序设计的技巧,达到用常规的编程手段难以达到的效果。元编程可以让某些计算在编译期间完成,从而在很大程度上节约了程序运行的时间,提高程序的运行性能。

一、什么是元函数

    传统的函数都是程序运行期间被调用和执行的函数,而元函数是能在编译期间被调用执行的函数(编译期间就能得到结果)。引入元函数概念的目的是支持元编程,而元函数是元编程的核心。

总结:所谓元编程,就是用元函数进行编程,甚至可以说,书写和使用这些元函数的过程本身就是在进行元编程。

c++11标准引入的constexpr关键字用于编译的时候求值,这样能够提升程序运行时的性能。

constexpr int myfun
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发如雪-ty

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值