第一部分 预备知识
第1章 更好的C
1.1 两种语言简述
1.2 循序渐进
1.3 类型系统
1.4 函数原型
1.5 类型安全连接
1.6 引用
1.7 类型安全I/O
1.8 标准流
1.9 格式化
1.10 操纵器
1.11 函数重载和函数模板
1.12 运算符重载
1.13 内联函数
1.14 默认参数
1.15 new和delete
1.16 语句声明
1.17 标准库特征
1.18 C的兼容性
1.19 小结
第2章 指针
2.1 容易出错的编程
2.2 基础
2.3 指针运算
2.4 传引用语义
2.5 普通指针
2.6 const指针
2.7 指针和一维数组
2.8 数组作为参数
2.9 字符串数组
2.10 指针和多维数组
2.11 更高深的内容
2.12 指向函数的指针
2.13 指向成员函数的指针
2.14 封装和不完全类型
2.15 小结
第3章 预处理器
3.1 #include指令
3.2 其他的预处理指令
3.3 预定义宏
3.4 条件编译
3.5 预处理运算符
3.6 实现assert
3.7 宏的魅力
3.8 字符集、三字符运算符和双字符运算符
3.9 翻译阶段
3.10 小结
第4章 C标准库之一:面向合格的程序员
4.1
4.2
4.3
4.4
第5章 C标准库之二:面向熟练的程序员
5.1
5.2
5.3
5.4
5.5 字符集
5.6 代码页
5.7 字符集标准
5.8 ISO 10646
5.9 统一字符编码
第6章 C标准库之三:面向优秀的程序员
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8 va_list作为参数
6.9 应用
6.10 结论
6.11 浮点数系统
第二部分 主要概念
第7章 抽象
7.1 数据抽象
7.2 运算符重载
7.3 具体的数据类型
7.4 类型抽象
7.5 函数抽象
7.6 小结
第8章 模板
8.1 泛型编程
8.2 函数模板
8.3 类模板
8.4 模板参数
8.5 模板特化
8.6 小结
第9章 位操作
9.1 按位运算符
9.2 访问单独的位
9.3 大型置位
9.4 位字符串
9.5 Wish List
9.6 bitset模板
9.7 vector模板特化
9.8 小结
第10章 类型转换和强制类型转换
10.1 整数的升级
10.2 降级
10.3 算术类型转换
10.4 函数原型
10.5 显式类型转换
10.6 函数风格强制类型转换
10.7 const的正确性
10.8 用户定义的类型转换
10.9 加强运算符[]
10.10 新风格强制类型转换
10.11 小结
第11章 可见性
11.1 名字中包含什么
11.2 作用域
11.3 最小的作用域
11.4 类的作用域
11.5 嵌套类
11.6 局部类
11.7 典型的名字空间
11.8 名字空间的作用域
11.9 生存期
11.10 临时对象的生存期
11.11 连接
11.12 类型安全连接
11.13 "语言"连接
11.14 小结
第12章 控制结构
12.1 结构化编程
12.2 分支
12.3 非局部分支
12.4 信号
12.5 小结
12.6 参考文献
第13章 异常
13.1 可选择的错误处理方法
13.2 堆栈展开
13.3 异常捕捉
13.4 标准异常
13.5 资源管理
13.6 构造函数和异常
13.7 内存管理
13.8 异常规范
13.9 错误处理策略
13.10 小结
第14章 面向对象编程
14.1 继承
14.2 不同种类的集合
14.3 虚函数和多态
14.4 抽象基类
14.5 实例研究:一个对象持续的框架
14.6 数据库访问
14.7 映射对象到相关模式
14.8 PFX的结构
14.9 一个代码的预排
14.10 小结
第三部分 使用标准库
第15章 算法
15.1 复杂度
15.2 通用算法
15.3 函数对象
15.4 函数种类
15.5 函数对象适配器
15.6 算法种类
15.7 小结
15.8 参考文献
第16章 容器和迭代器
16.1 标准容器
16.2 迭代器
16.3 迭代器种类
16.4 特殊用途的迭代器
16.5 容器适配器
16.6 关联容器
16.7 应用
16.8 非标准模板库容器
16.9 小结
第17章 文本处理
17.1 scanf
17.2 printf
17.3 子字符串
17.4 标准C++字符串类
17.5 字符串流
17.6 宽字符串
17.7 小结
第18章 文件处理
18.1 过滤器
18.2 二进制文件
18.3 记录处理
18.4 临时文件
18.5 可移植性
18.6 POSIX
18.7 文件描述符
18.8 通过描述符来拷贝文件
18.9 读目录条目
18.10 重定向标准错误
18.11 封装重定向操作
18.12 小结
第19章 时间和日期处理
19.1 Julian日期编码
19.2 用于实际工作的日期类
19.3 计算年的星期数
19.4 小结
19.5 参考文献
第20章 动态内存管理
20.1 参差数组
20.2 在标准C中使用堆
20.3 C++的自由存储
20.4 浅拷贝与深拷贝
20.5 处理内存分配失败
20.6 重载new和delete
20.7 配置new
20.8 堆的管理
20.9 避免内存管理
20.10 小结
附录
附录A C/C++的兼容性
附录B 标准C++算法
附录C 函数对象和适配器
附录D 有注解的参考书目
附录E C++标准的制定
展开