资源名称:C++沉思录 PDF

 0.1 第一次尝试 1
  0.1.1 改进 2
  0.1.2 另一种改进 3
  0.2 不用类来实现 4
  0.3 为什么用C++更简单 5
  0.4 一个更大的例子 6
  0.5 结论 6
  第一篇 动机
  第1章 为什么我用C++ 11
  1.1 问题 11
  1.2 历史背景 12
  1.3 自动软件发布 12
  1.3.1 可靠性与通用性 13
  1.3.2 为什么用C 14
  1.3.3 应付快速增长 15
  1.4 进入C++ 15
  1.5 重复利用的软件 20
  1.6 后记 21
  第2章 为什么用C++工作 23
  2.1 小项目的成功 23
  2.1.1 开销 24
  2.1.2 质疑软件工厂 24
  2.2 抽象 25
  2.2.1 有些抽象不是语言的一部分 26
  2.2.2 抽象和规范 26
  2.2.3 抽象和内存管理 27
  2.3 机器应该为人服务 28
  第3章 生活在现实世界中 29
  第二篇 类和继承
  第4章 类设计者的核查表 37
  第5章 代理类 47
  5.1 问题 47
  5.2 经典解决方案 48
  5.3 虚复制函数 49
  5.4 定义代理类 50
  5.5 小结 53
  第6章 句柄:第一部分 55
  6.1 问题 55
  6.2 一个简单的类 56
  6.3 绑定到句柄 58
  6.4 获取对象 58
  6.5 简单的实现 59
  6.6 引用计数型句柄 60
  6.7 写时复制 62
  6.8 讨论 63
  第7章 句柄:第二部分 67
  7.1 回顾 68
  7.2 分离引用计数 69
  7.3 对引用计数的抽象 70
  7.4 存取函数和写时复制 73
  7.5 讨论 73
  第8章 一个面向对象程序范例 75
  8.1 问题描述 75
  8.2 面向对象的解决方案 76
  8.3 句柄类 79
  8.4 扩展1:新操作 82
  8.5 扩展2:增加新的节点类型 85
  8.6 反思 86
  第9章 一个课堂练习的分析(上) 89
  9.1 问题描述 89
  9.2 接口设计 91
  9.3 补遗 93
  9.4 测试接口 94
  9.5 策略 95
  9.6 方案 96
  9.7 图像的组合 99
  9.8 结论 102
  第10章 一个课堂练习的分析(下) 103
  10.1 策略 103
  10.1.1 方案 104
  10.1.2 内存分配 105
  10.1.3 结构构造 107
  10.1.4 显示图像 110
  10.2 体验设计的灵活性 116
  10.3 结论 119
  第11章 什么时候不应当使用虚函数 121
  11.1 适用的情况 121
  11.2 不适用的情况 122
  11.2.1 效率 122
  11.2.2 你想要什么样的行为 125
  11.2.3 不是所有的类都是通用的 127
  11.3 析构函数很特殊 127
  11.4 小结 129
  第三篇 模板
  第12章 设计容器类 133
  12.1 包含什么 133
  12.2 复制容器意味着什么 134
  12.3 怎样获取容器的元素 137
  12.4 怎样区分读和写 138
  12.5 怎样处理容器的增长 139
  12.6 容器支持哪些操作 141
  12.7 怎样设想容器元素的类型 141
  12.8 容器和继承 143
  12.9 设计一个类似数组的类 144
  第13章 访问容器中的元素 151
  13.1 模拟指针 151
  13.2 获取数据 153
  13.3 遗留问题 155
  13.4 指向const Array的Pointer 159
  13.5 有用的增强操作 161
  第14章 迭代器 167
  14.1 完成Pointer类 167
  14.2 什么是迭代器 170

资源截图:

C++沉思录 PDF