中文的C++ Template的教学指南。与知名书籍C++ Templates不同,该系列教程将C++ Templates作为一门图灵完备的语言来讲授,以求帮助读者对Meta-Programming融会贯通。

Wu Ye 758bc2aefe Add list of content 12 سال پیش
.gitattributes 758bc2aefe Add list of content 12 سال پیش
.gitignore 758bc2aefe Add list of content 12 سال پیش
CppTemplateTutorial.cpp 758bc2aefe Add list of content 12 سال پیش
CppTemplateTutorial.sln 758bc2aefe Add list of content 12 سال پیش
CppTemplateTutorial.vcxproj 758bc2aefe Add list of content 12 سال پیش
CppTemplateTutorial.vcxproj.filters 758bc2aefe Add list of content 12 سال پیش
ReadMe.md 758bc2aefe Add list of content 12 سال پیش
stdafx.cpp 758bc2aefe Add list of content 12 سال پیش
stdafx.h 758bc2aefe Add list of content 12 سال پیش
targetver.h 758bc2aefe Add list of content 12 سال پیش

ReadMe.md



C++ Template 进阶指南

0. 前言

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 实战单元:元编程的Fibonacci数列

4.3 技巧单元:typename与template的另一种用法

4.4 实战单元:撰写你自己的元编程“函数”库

4.5 实战单元:实现元编程上的数据结构 ———— 以Vector为例

5 关于模板,你还需要知道的其它常识

###5.1 Template-Template Class ###5.2 技巧单元:高阶函数 ———— 从函数到函数的组合 ###5.3 实战单元:STL中的Allocator Rebinder

6 结语