Skip to content

Latest commit

 

History

History
15 lines (15 loc) · 833 Bytes

chapter7.md

File metadata and controls

15 lines (15 loc) · 833 Bytes

第7章 模板

7.1 引言

  • 我们使用模板表示那些通用的概念,然后通过制定参数生成特定的类型或函数。

7.2 参数化类型

  • 模板是一种编译时的机制,因此与“手工编码”相比,它并不会产生任何额外的运行时开销。
  • 模板加上一系列模板参数被统称为实例化或特例化。在编译过程中进行实例化时,每个实例都会生成一份代码。

7.3 参数化操作

7.4 模板机制

  • 依赖类型的值:参数模板
  • 类型与模板的别名:别名模板
  • 编译时选择机制:if constexpr
  • 编译时查询值与表达式属性的机制:requires表达式

7.5 建议

  • 用模板来表达那些可以用于多种参数类型的算法。
  • 让构造函数或函数模板推断出类型模板实参类型。