mirror of
https://github.com/wuye9036/CppTemplateTutorial.git
synced 2024-03-22 13:11:16 +08:00
更新 0.2 适宜读者群 和 0.3 版权 章节;将1.4节 类中类 内容移至第五章。
This commit is contained in:
parent
fa1357335f
commit
80e1e3ead9
27
ReadMe.md
27
ReadMe.md
|
@ -22,16 +22,28 @@ C++之所以变成一门层次丰富、结构多变、语法繁冗的语言,
|
|||
本文的写作初衷,就是通过“编程语言”的视角,介绍一个简单、清晰的“模板语言”。我会尽可能的将模板的诸多要素连串起来,用一些简单的例子帮助读者学习这门“语言”,让读者在编写、阅读模板代码的时候,能像 `if(exp) { dosomething(); }`一样的信手拈来,让“模板元编程”技术成为读者牢固掌握、可举一反三的有用技能。
|
||||
|
||||
###0.2 适宜读者群
|
||||
C++ Templates和Modern C++ Design的关系
|
||||
|
||||
因为本文并不是用于C++入门,例子中也多少会牵涉一些其它知识,因此如果读者能够具备以下条件,会读起来更加轻松:
|
||||
|
||||
* 熟悉C++的基本语法;
|
||||
* 使用过STL;
|
||||
* 熟悉一些常用的算法,以及递归等程序设计方法。
|
||||
|
||||
此外,尽管第一章会介绍一些Template的基本语法,但是还是会略显单薄。因此也希望读者能对C++ Template最基本语法形式有所了解和掌握;如果会编写基本的模板函数和模板类那就更好了。
|
||||
|
||||
诚如上节所述,本文并不是《C++ Templates》的简单重复,与《Modern C++ Design》交叠更少。从知识结构上,我建议大家可以先读本文,再阅读《C++ Templates》获取更丰富的语法与实现细节,以更进一步;《Modern C++ Design》除了元编程之外,还有很多的泛型编程示例,原则上泛型编程的部分与我所述的内容交叉不大,读者在读完1-3章了解模板的基本规则之后便可阅读《MCD》的相应章节;元编程部分(如Typelist)建议在阅读完本文之后再行阅读,或许会更易理解。
|
||||
|
||||
###0.3 版权
|
||||
|
||||
本文是随写随即同步到Github上,因此在行文中难免会遗漏引用。本文绝大部分内容应是直接承出我笔,但是也不定会有他山之石。所有指涉内容我会尽量以引号框记,或在上下文和边角注记中标示,如有遗漏烦请不吝指出。
|
||||
|
||||
全文所有为我所撰写的部分,作者均保留所有版权。如果有需要转帖或引用,还请注明出处并告知于我。
|
||||
|
||||
## 1. Template的基本语法
|
||||
|
||||
###1.1 Template Class的基本语法
|
||||
###1.2 Template Function的基本语法
|
||||
###1.3 整型也可是Template参数
|
||||
###1.4 类中类:灵活的模板定义
|
||||
|
||||
## 2. 模板世界的If-Then-Else:特化与偏特化
|
||||
###2.1 实例化/特化类模板:从类模板到可以定义变量的具体类
|
||||
|
@ -53,11 +65,12 @@ C++ Templates和Modern C++ Design的关系
|
|||
###4.6 实战单元:实现元编程上的数据结构——以Vector为例
|
||||
|
||||
## 5 关于模板,你还需要知道的其它常识
|
||||
###5.1 Template-Template Class
|
||||
###5.2 技巧单元:高阶函数——从函数到函数的组合
|
||||
###5.3 实战单元:STL中的Allocator Rebinder
|
||||
###5.4 像看堆栈一样的看出错信息
|
||||
###5.5 模板的症结:易于实现,难于完美
|
||||
###5.1 类中类:灵活的模板定义
|
||||
###5.2 Template-Template Class
|
||||
###5.3 技巧单元:高阶函数——从函数到函数的组合
|
||||
###5.4 实战单元:STL中的Allocator Rebinder
|
||||
###5.5 像看堆栈一样的看出错信息
|
||||
###5.6 模板的症结:易于实现,难于完美
|
||||
|
||||
alexandrescu 关于 min max 的讨论:《再谈Min和Max》
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user