C++ Templates 全览
C++模板技术的权威指南,被誉为模板编程的百科全书 原作者:David Vandevoorde, Nicolai M. Josuttis 中文版译者:侯捷、荣耀、姜宏 页数:325页 文件大小:2.17MB
核心内容
本书系统介绍了C++模板的所有方面,从基础到高级应用。
第一篇:基本认识
-
关于本书
- 阅读前提
- 组织结构
- 编程风格
- 标准与现实
-
Function Templates(函数模板)
- 定义和使用
- 参数推导
- 模板参数
- 重载
-
Class Templates(类模板)
- 实现Stack模板
- 特化与偏特化
- 默认模板参数
-
Nontype Template Parameters(非类型模板参数)
- 类模板的非类型参数
- 函数模板的非类型参数
- 局限性
-
高层次基本技术
- typename关键字
- this->的使用
- 成员模板
- 模板模板参数
- 零值初始化
第二篇:深入模板
-
基础技术更深入
- 参数化声明
- 虚拟成员函数
- 模板的链接
- 主模板
-
模板内的名称
- 名称分类学
- 名称查询
- 参数依赖查询(ADL)
- Friend名称植入
- 解析模板
-
实例化
- 按需实例化
- 缓式实例化
- 两段式查询
- 显式实例化
-
模板参数推导
- 推导过程
- 特殊推导情境
- Barton-Nackman Trick
-
特化与重载
- 透明定制
- 函数模板重载
- 显式特化
- 偏特化
第三篇:模板与设计
-
模板的多态威力
- 动态多态
- 静态多态
- 设计模式的新形式
- 泛型编程
-
Traits和Policy Classes
- 固定式特征
- 数值式特征
- 参数式特征
- 策略和策略类
- 类型函数
-
模板与继承
- EBCO(空基类优化)
- CRTP(奇特递归模板范式)
- 虚拟性的参数化
-
Metaprograms(元编程)
- 第一个元编程示例
- 计算平方根
- 递归实例化
- 展开循环
-
Expression Templates(表达式模板)
- 暂时对象和分解循环
- 编码表达式
- 性能与极限
第四篇:高级应用
-
类型分类
- 基础类型判定
- 复合类型判定
- 函数类型辨识
-
Smart Pointers(智能指针)
- Holders和Trules
- 引用计数
- 内存管理
-
Tuples(元组)
- Duos
- 递归Duos
- 建构
-
Function Objects与Callbacks
- 直接、间接和内联调用
- 仿函式的复合
- 值绑定器
核心概念
模板基础
- 类型参数 vs 非类型参数
- 显式特化 vs 偏特化
- 实例化时机
高级技术
- Traits模板:类型信息的萃取
- Policy Classes:可配置行为
- Metaprogramming:编译期计算
- Expression Templates:表达式优化
设计模式
- CRTP:奇特递归模板模式
- EBCO:空基类优化
- PIMPL:指针实现
学习要点
-
理解实例化模型
- 两点式查询
- 实例化点
- 显式实例化的使用
-
掌握特化技术
- 全特化
- 偏特化
- 重载决议
-
应用模板元编程
- 编译期计算
- 类型操作
- 代码生成
与其他知识的关联
- 与Modern C++ Design互补:后者更深入探讨设计模式
- 与STL关联:STL大量使用模板技术
- 与Boost关联:Boost库基于模板技术
可行动点
- 理解模板的实例化规则
- 掌握Traits模板的用法
- 实践CRTP模式
- 学习Expression Templates
原始路径
/田浩然上传的资料/电子书/C_C++/Cpp.Templates.-.Theplete.Guide/[计算机科学经典着作].C++.Templates.-.Theplete.Guide.pdf
处理信息
- 处理方式:PDF文本提取
- 提取时间:2026-09-30
- 文档状态:已完成