CppTemplateTutorial/ReadMe.md

49 lines
1.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# C++ Template 进阶指南
## 0. 前言
###0.1 C++另类简介:比你用的复杂,但比你想的简单
###0.2 适宜读者群
C++ Templates和Modern C++ Design的关系
###0.3 版权
## 1. Template的基本语法
###1.1 Template Class的基本语法
###1.2 Template Function的基本语法
###1.3 整型也可是Template参数
###1.4 类中类:灵活的模板定义
## 2. 模板世界的If-Then-Else特化与偏特化
###2.1 实例化/特化类模板:从类模板到可以定义变量的具体类
###2.2 类模板的匹配规则:特化与部分特化
###2.3 函数模板的重载、特化与部分特化
###2.4 技巧单元:模板与继承
## 3 拿起特化的武器,去写程序吧!
###3.1 利用模板特化规则实现If-Then-Else与Switch-Case
###3.2 特化可以有多个选择:替换失败并不是一个错误,只是一种可能
###3.3 技巧单元获得类型的属性——类型萃取Type Traits
## 4 用模板写程序吧!骚年!
###4.1 模板上的递归
###4.2 将循环变成递归,将分支变成递归,将一切变成递归
###4.3 实战单元元编程的Fibonacci数列
###4.4 技巧单元typename与template的另一种用法
###4.5 实战单元:撰写你自己的元编程“函数”库
###4.6 实战单元实现元编程上的数据结构——以Vector为例
## 5 关于模板,你还需要知道的其它常识
###5.1 Template-Template Class
###5.2 技巧单元:高阶函数——从函数到函数的组合
###5.3 实战单元STL中的Allocator Rebinder
###5.4 像看堆栈一样的看出错信息
## 6 C++11的新特性
###6.1 变参模板
###6.2 Lambda与模板程序
## 7 结语:讨论有益,争端无用