中文的C++ Template的教学指南。与知名书籍C++ Templates不同,该系列教程将C++ Templates作为一门图灵完备的语言来讲授,以求帮助读者对Meta-Programming融会贯通。(正在施工中)
Go to file
2013-03-13 10:39:12 +08:00
.gitattributes Add list of content 2013-03-12 23:40:34 +08:00
.gitignore Add list of content 2013-03-12 23:40:34 +08:00
CppTemplateTutorial.cpp Add list of content 2013-03-12 23:40:34 +08:00
CppTemplateTutorial.sln Add list of content 2013-03-12 23:40:34 +08:00
CppTemplateTutorial.vcxproj List of content changed. 2013-03-12 23:56:48 +08:00
CppTemplateTutorial.vcxproj.filters List of content changed. 2013-03-12 23:56:48 +08:00
ReadMe.md 细化前言部分的目录;增加了C++11有关章节的目录。 2013-03-13 10:39:12 +08:00
stdafx.cpp Add list of content 2013-03-12 23:40:34 +08:00
stdafx.h Add list of content 2013-03-12 23:40:34 +08:00
targetver.h Add list of content 2013-03-12 23:40:34 +08:00

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 结语:讨论有益,争端无用