Kaynağa Gözat

更新 0.2 适宜读者群 和 0.3 版权 章节;将1.4节 类中类 内容移至第五章。

Wu Ye 12 yıl önce
ebeveyn
işleme
80e1e3ead9
1 değiştirilmiş dosya ile 20 ekleme ve 7 silme
  1. 20 7
      ReadMe.md

+ 20 - 7
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》