- 编写程序的程序
- 在编译时执行的程序
一 元编程
- 在编译时完成部分本应在运行时完成的工作
- 模板元编程的基本原理是通过模板来描述编译时的逻辑运算,编译器在编译过程中对这些模板进行实例化,并生成相应的代码进行运算。这样,原本需要在运行时进行的计算或类型检查等操作,可以提前到编译时完成,从而提高程序的运行效率。
优缺点:
- 把很多工作从运行时转移到编译时,使得程序更有效率,生成更小的可执行代码,更短的运行时间,但会增加编译时间
二 二种计算
- 数值计算
- 类型计算
三 语法
- 不能使用运行时的关键字,
- enum、static、const、constexpr 用来定义编译期的整数常量
- typedf/using用于定义元数据
- T 、Args... 声明元数据类型
- Template主要用于定义元函数
- ::域运算符,用于解析类型作用域获得计算结果