- 我们使用模板表示那些通用的概念,然后通过制定参数生成特定的类型或函数。
- 模板是一种编译时的机制,因此与“手工编码”相比,它并不会产生任何额外的运行时开销。
- 模板加上一系列模板参数被统称为实例化或特例化。在编译过程中进行实例化时,每个实例都会生成一份代码。
- 依赖类型的值:参数模板
- 类型与模板的别名:别名模板
- 编译时选择机制:
if constexpr
- 编译时查询值与表达式属性的机制:
requires
表达式
- 用模板来表达那些可以用于多种参数类型的算法。
- 让构造函数或函数模板推断出类型模板实参类型。