From baf962c80fddcb33258d0c7e7c05200e5fe79f23 Mon Sep 17 00:00:00 2001 From: wuye9036 Date: Sun, 6 Dec 2015 22:51:07 -0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=BA=86=E5=90=8E=E5=87=A0?= =?UTF-8?q?=E7=AB=A0=E7=9A=84=E5=86=99=E4=BD=9C=E8=AE=A1=E5=88=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ReadMe.md | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/ReadMe.md b/ReadMe.md index c9c5b66..048f05d 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -1619,33 +1619,33 @@ template struct X { 从下一章开始,我们将进入元编程环节。我们将使用大量的示例,一方面帮助巩固大家学到的模板知识,一方面也会引导大家使用函数式思维去解决常见的问题。 -## 3 拿起武器,去写程序吧! -###3.1 利用模板特化规则实现If-Then-Else与Switch-Case -###3.2 特化可以有多个选择:替换失败并不是一个错误,只是一种可能 -###3.3 技巧单元:获得类型的属性——类型萃取(Type Traits) +## 3 深入理解特化 + +###3.1 利用偏特化实现If-Then-Else +###3.2 正确的理解偏特化 +###3.3 后悔药:SFINAE +###3.4 技巧单元:获得类型的属性——类型萃取(Type Traits) ## 4 用模板写程序吧!骚年! ###4.1 模板上的递归 ###4.2 将循环变成递归,将分支变成递归,将一切变成递归 ###4.3 实战单元:元编程的Fibonacci数列 -###4.4 技巧单元:typename与template的另一种用法 -###4.5 实战单元:撰写你自己的元编程“函数”库 -###4.6 实战单元:实现元编程上的数据结构——以Vector为例 -## 5 关于模板,你还需要知道的其它常识 -###5.1 类中类:灵活的模板定义 -###5.2 Template-Template Class -###5.3 技巧单元:高阶函数——从函数到函数的组合 -###5.4 实战单元:STL中的Allocator Rebinder -###5.5 像看堆栈一样的看出错信息 -###5.6 模板的症结:易于实现,难于完美 +## 5 元编程下的算法 +###5.1 列表与数组 +###5.2 字典结构 +###5.3 “快速”排序 + +## 6 关于模板,你还需要知道的其它常识 +###6.1 类中类:灵活的模板定义 +###6.2 Template-Template Class +###6.3 技巧单元:高阶函数——从函数到函数的组合 +###6.4 实战单元:STL中的Allocator Rebinder +###6.5 像看堆栈一样的看出错信息 +###6.6 模板的症结:易于实现,难于完美 alexandrescu 关于 min max 的讨论:《再谈Min和Max》 -## 6 C++11的新特性 -###6.1 变参模板 -###6.2 Lambda与模板程序 - ## 7 模板的威力:从foreach, transform到Linq ###7.1 Foreach与Transform ###7.2 Reactor风格的编程 @@ -1655,7 +1655,6 @@ alexandrescu 关于 min max 的讨论:《再谈Min和Max》 ## 8 结语:讨论有益,争端无用 - [1]: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf [2]: http://blog.llvm.org/2009/12/dreaded-two-phase-name-lookup.html [3]: https://goo.gl/zCRNYx