August 2021
Intermediate to advanced
450 pages
5h 35m
Chinese
[1] 模板提供了一种编译时编程的通用机制;7.1节。
[2] 当设计一个模板时,仔细考虑对其模板实参所设定的概念(要求);7.3.2节。
[3] 当设计一个模板时,使用一个具体版本进行最初的实现、调试和测试;7.3.2节。
[4] 将概念用作一种设计工具;7.2.1节。
[5] 对所有的模板实参指明概念;7.2节;[CG:T.10]。
[6] 只要可能就使用标准概念(如范围概念);7.2.4节;[CG:T.11]。
[7] 如果你需要一个简单函数对象且只用在一个地方,则使用lambda;6.3.2节。
[8] 模板是没有分离编译的:在每个使用模板的编译单元中都#include模板定义。
[9] 使用模板表达容器和范围;7.3.2节;[CG:T.3]。
[10] 避免没有有意义的语义的“概念”;7.2节;[CG:T.20]。
[11] 对每个概念要求完整的操作集;7.2节;[CG:T.21]。
[12] 当你需要一个函数接受可变数目的、不同类型的实参时,使用可变参数模板;7.4节。
[13] 对同构实参列表不要使用可变参数模板(对这种情况优先选择初始值列表);7.4节。
[14] 为了使用模板,确保其定义(而不仅是其声明)在作用域中;7.5节。
[15] 模板提供了编译时的“鸭子类型”;7.5节。
Read now
Unlock full access