《C++ Templates 中文版》[陈伟柱译] 续1

第2部分 深入模板  
第8章 深入模板基础  
8.1 参数化声明
 8.1.1 虚成员函数 【成员函数模板不能是虚函数】
 8.1.2 模板的链接 【缺省是外部的、extern "C++"的。static可以限制在内。所以不能在函数内部声明模板】
 8.1.3 基本模板 【普通声明-->只有一顶尖帽子的声明-->基本模板】
8.2 模板参数 【类型>非类型>模板参数】【如果不用可以不写,可以引用前面参数-->只要能推导】
 8.2.1 类型参数 【T不能被class之类修饰】
 8.2.2 非类型参数
【也可能出现typename(受限名称必需!):typename T::stack s】
【区别很明显,】
 8.2.3 模板的模板参数 【应该只能是类模板】
 8.2.4 缺省模板实参 【只有类模板才能有?】
8.3 模板实参
 8.3.1 函数模板实参  【SFINAG允许创建无效表达,不许计算之-->类型检查
 8.3.2 类型实参  
 8.3.3 非类型实参  
 8.3.4 模板的模板实参
 8.3.5 实参的等价性  
8.4 友元  
 8.4.1 友元函数
 8.4.2 友元模板
8.5 本章后记
第9章  模板中的名称
9.1 名称的分类
9.2 名称查找
 9.2.1 Argument-Dependent Lookup(ADL)
 9.2.2 友元名称插入
 9.2.3 插入式类名称
9.3 解析模板
 9.3.1 非模板中的上下文相关性
 9.3.2 依赖型类型名称
 9.3.3 依赖型模板名称
 9.3.4 Using-Declarations中的依赖型名称
 9.3.5 ADL和显式模板实参  
9.4 派生和类模板  
 9.4.1 非依赖型基类  
 9.4.2 依赖型基类  
9.5 本章后记  
第10章 实例化  
10.1 On-Demand实例化  
10.2 延迟实例化  
10.3 C++的实例化模型  
 10.3.1 两阶段查找  
 10.3.2 POI   
 10.3.3 包含模型与分离模型  
 10.3.4 跨翻译单元查找  
 10.3.5 例子  
10.4 几种实现方案  
 10.4.1 贪婪实例化
 10.4.2 询问实例化
 10.4.3 迭代实例化
10.5 显式实例化
10.6 本章后记

第11章 模板实参演绎 【否则代码复杂】
11.1 演绎的过程
11.2 演绎的上下文  
11.3 特殊的演绎情况  
11.4 可接受的实参转型  
11.5 类模板参数  
11.6 缺省调用实参  
11.7 Barton-Nackman方法  
11.8 本章后记
 
第12章 特化与重载  
12.1当泛型代码不再适用的时候  
 12.1.1透明自定义  
 12.1.2语义的透明性  
12.2 重载函数模板  
 12.1.1 签名  
 12.2.2 重载的函数模板的局部排序 
 12.2.3 正式的排序原则  
 12.2.4 模板和非模板  
12.3 显式特化  
 12.3.1 全局的类模板特化  
 12.3.2 全局的函数模板特化  
 12.3.3 全局成员特化  
12.4 局部的类模板特化  
12.5 本章后记  
第13章 未来的方向  
13.1 尖括号Hack  
13.2 放松typename的原则  
13.3 缺省函数模板实参  
13.4 字符串文字和浮点型模板实参  
13.5 放松模板的模板参数的匹配  
13.6 typedef模板  
13.7 函数模板的局部特化  
13.8 typeof运算符  
13.9 命名模板实参  
13.10 静态属性
13.11 客户端的实例化诊断信息  
13.12 重载类模板  
13.13 List参数  
13.14 布局控制  
13.15 初始化器的演绎  
13.16 函数表达式  
13.17 本章后记
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章