《C++ Templates》目前有两版,第一版于2002年11月22日出版,并于2004年出版中文版。C++11与C++98相比堪称脱胎换骨,模板技术自然也顺应时代变得更为易用,但同时也增加了掌握的负担。为了顺应模板在C++11/14/17中的变化,第二版于2017年9月25日出版,暂时没有中文版,此为个人阅读英文版的笔记。书中代码见《C++ Templates 2ed》官方源码。
- 函数模板(Function Template)
- 类模板(Class Template)
- 非类型模板参数(Nontype Template Parameter)
- 可变参数模板(Variadic Template)
- Tricky Basic
- 移动语义与enable_if
- 按值传递与按引用传递(By Value or by Reference?)
- 编译期编程(Compile-Time Programming)
- 模板实战(Using Templates in Practice)
- 泛型库(Generic Library)
- 深入模板基础(Fundamentals in Depth)
- 模板中的名称(Names in Template)
- 实例化(Instantiation)
- 模板实参推断(Template Argument Deduction)
- 特化与重载(Specialization and Overloading)