深入实践C++模板编程

深入实践C++模板编程

作者:温宇杰

出版社:机械工业

出版年:2013年6月

ISBN:9787111427544

所属分类:网络科技

书刊介绍

《深入实践C++模板编程》内容简介

C++模板编程领域的经典著作,由资深C++开发工程师撰写。本书以透彻分析原理为前提,深入讲解了模板编程的基本原理、标准库中算法与容器等模板的实现原理;以实践为导向,通过大量的模板向读者展示了如何使用模板进行编程以及如何编写自定义模板。除此之外,本书还总结了各种常用的模板编程技巧、C++11标准中的模板新特性和新语法,以及C++11中新增的其他语言特性。
全书共16章,分为四部分:第一部分(第1~4章)首先介绍了模板编程的基本概念与用法,然后重点讨论了编译器对模板的具体实现方法及其局限,读者可以通过本部分内容理解模板的基本原理并自行实现简单的类模板与函数模板。第二部分(第5~9章)对标准库中的算法与容器的实现原理和用法进行了深入地剖析,读者通过本部分内容对标准库中的算法、迭代器与容器之间的关系有深入的理解,从而可以精确调节标准容器的行为,自行开发适用于标准算法的容器类模板。第三部分(第10~13章)讨论了模板编程的高级技巧,如模板编程中“概念”的设计、控制代码量的技术、编译期逻辑的控制以及元编程的基本方法等,读者可以通过本部分内容开发更具规模、更加智能的模板库,并利用元编程技术实现编译期的逻辑演绎与类型推导。第四部分(第14~16章)介绍了C++11标准中的新增语言特性,以及对模板编程的影响。
温宇杰:资深C++软件工程师,有多年C++开发经验,对C++模板编程和元编程有非常深入的研究,实践经验十分丰富。擅长组合优化算法及大规模集成电路辅助设计算法,对FPGA体系结构以及Verilog和VHDL等硬件描述语言也有非常深入的研究,曾主持并参与开发了一套完整设计流程的FPGA平台编译软件。

作品目录

前言
为什么要写这本书
读者对象
如何阅读本书
勘误和支持
致谢
第一部分
模板基础
第1章:Hello模板
1.1、为什么需要模板
1.2、初识函数模板
1.3、如何处理函数模板中的函数体
1.4、尴尬的Export
Template
1.5、本章小结
第2章:类亦模板
2.1、类型无关的数据结构
2.2、实践——栈类模板
2.3、突破——异质链表
2.4、构造元组
2.5、类模板的用法
2.6、类模板的静态成员
2.7、本章小结
第3章:模板参数类型详解
3.1、整数模板参数
3.2、函数指针模板参数
3.3、指针及引用模板参数
3.4、成员函数指针模板参数
3.5、模板型模板参数
3.6、本章小结
第4章:凡事总有“特例”
4.1、从vector<bool>说起
4.2、特例的多种写法
4.3、特例匹配规则
4.4、函数模板的特例与重载
4.5、本章小结
第二部分
标准库中的模板
第5章:容器、迭代器与算法
5.1、容器的定义
5.2、容器的实现
5.3、容器与迭代器
5.4、迭代器与算法
5.5、容器与迭代器的分类
5.6、容器与算法的关系
5.7、迭代器的陷阱
5.8、本章小结
第6章:标准库中的容器
6.1、容器的分类及基本要求
6.2、序列型容器
6.3、容器转换器
6.4、关联型容器
6.5、散列表容器
6.6、其他C++11新容器
6.7、本章小结
第7章:隐形的助手——分配器
7.1、分配器的基本要求
7.2、交换容器内容时的特殊处理
7.3、有态分配器与无态分配器
7.4、实践:池分配器
7.5、本章小结
第8章:标准库中的迭代器
8.1、迭代器分类
8.2、迭代器属性类模板
8.3、迭代器转换器
8.4、流迭代器
8.5、本章小结
第9章:标准库中的算法
9.1、算法的共同特征
9.2、标准库中的常用算法
9.3、预设函数对象
9.4、实践:矩阵操作中如何消除循环语句
9.5、本章小结
第三部分
模板编程高级技巧
第10章:专用名词——概念
10.1、模板的先天不足
10.2、“概念”的提案及ConceptGCC编译器
10.3、概念语法
10.4、概念模拟库
10.5、本章小结
第11章:代码膨胀
11.1、源代码的增加
11.2、目标代码的增加
11.3、本章小结
第12章:常用模板编程技巧
12.1、标签与特性
12.2、编译期多态
12.3、策略
12.4、伪变长参数模板
12.5、本章小结
第13章:元编程
13.1、C++中的元编程
13.2、元函数
13.3、元容器与元算法
13.4、类型过滤
13.5、本章小结
第四部分
模板与C++11、第14章:右值引用
14.1、右值引用的产生
14.2、右值引用基本概念
14.3、引用声明符消去规则
14.4、移动与异常
14.5、本章小结
第15章:模板新语法
15.1、变长参数模板
15.2、扩展的类型推导机制
15.3、其他模板新特性
15.4、本章小结
第16章:C++11新特性集锦
16.1、λ表达式
16.2、初值列表新用法
16.3、标准容器与算法的变化
16.4、标准元组类模板
16.5、智能指针
16.6、基于范围的for循环
16.7、拾遗
16.8、本章小结

相关推荐

微信二维码