C++代码设计与重用 🔍
(美)卡罗尔,(美)埃利斯著;陈伟柱译 北京:人民邮电出版社, 2012
中文 [zh] · PDF · 23.7MB · 2012 · 📗 未知类型的图书 · 🚀/upload · Save
描述
封面 1
书名 3
版权 4
目录 5
1 13
2 14
3 15
4 16
5 17
6 18
7 19
8 20
9 21
10 22
11 23
12 24
13 25
14 26
15 27
16 28
17 29
18 30
19 31
20 32
21 33
22 34
23 35
24 36
25 37
26 38
27 39
28 40
29 41
30 42
31 43
32 44
33 45
34 46
35 47
36 48
37 49
38 50
39 51
40 52
41 53
42 54
43 55
44 56
45 57
46 58
47 59
48 60
49 61
50 62
51 63
52 64
53 65
54 66
55 67
56 68
57 69
58 70
59 71
60 72
61 73
62 74
63 75
64 76
65 77
66 78
67 79
68 80
69 81
70 82
71 83
72 84
73 85
74 86
75 87
76 88
77 89
78 90
79 91
80 92
81 93
82 94
83 95
84 96
85 97
86 98
87 99
88 100
89 101
90 102
91 103
92 104
93 105
94 106
95 107
96 108
97 109
98 110
99 111
100 112
101 113
102 114
103 115
104 116
105 117
106 118
107 119
108 120
109 121
110 122
111 123
112 124
113 125
114 126
115 127
116 128
117 129
118 130
119 131
120 132
121 133
122 134
123 135
124 136
125 137
126 138
127 139
128 140
129 141
130 142
131 143
132 144
133 145
134 146
135 147
136 148
137 149
138 150
139 151
140 152
141 153
142 154
143 155
144 156
145 157
146 158
147 159
148 160
149 161
150 162
151 163
152 164
153 165
154 166
155 167
156 168
157 169
158 170
159 171
160 172
161 173
162 174
163 175
164 176
165 177
166 178
167 179
168 180
169 181
170 182
171 183
172 184
173 185
174 186
175 187
176 188
177 189
178 190
179 191
180 192
181 193
182 194
183 195
184 196
185 197
186 198
187 199
188 200
189 201
190 202
191 203
192 204
193 205
194 206
195 207
196 208
197 209
198 210
199 211
200 212
201 213
202 214
203 215
204 216
205 217
206 218
207 219
208 220
209 221
210 222
211 223
212 224
213 225
214 226
215 227
216 228
217 229
218 230
219 231
220 232
221 233
222 234
223 235
224 236
225 237
226 238
227 239
228 240
229 241
230 242
231 243
232 244
233 245
234 246
235 247
236 248
237 249
238 250
239 251
240 252
241 253
242 254
243 255
244 256
245 257
246 258
247 259
248 260
249 261
250 262
251 263
252 264
253 265
254 266
255 267
256 268
257 269
258 270
259 271
260 272
261 273
262 274
263 275
264 276
265 277
266 278
267 279
元数据中的注释
producers:
FreePic2Pdf - 2.01
元数据中的注释
Bookmarks: -1 (p1): 1.1 什么是重用性
-2 (p2): 1.1.1 提取代码来作为重用
-3 (p2): 1.1.2 可重用代码的基本特性
-4 (p3): 1.2 重用的神话
-5 (p4): 1.3 重用的障碍
-6 (p4): 1.3.1 非技术障碍
-7 (p5): 1.3.2 技术障碍
-8 (p6): 1.4 希望是否尚存
-9 (p7): 1.5 这本书能给我们带来什么
-10 (p8): 1.6 练习
-11 (p9): 1.7 参考文献和相关资料
-12 (p11): 第2章 类的设计
-13 (p11): 2.1 抽象性
-14 (p12): 2.2 正规函数
-15 (p14): 2.3 Nice类
-16 (p15): 2.4 存在最小标准接口吗
-17 (p16): 2.4.1 缺省构造函数
-18 (p17): 2.4.2 赋值运算符
-19 (p18): 2.4.3 拷贝构造函数
-20 (p18): 2.4.4 相等运算符
-21 (p18): 2.4.5 析构函数
-22 (p19): 2.5 浅拷贝和深拷贝
-23 (p22): 2.6 接口一致性
-24 (p25): 2.7 转型
-25 (p26): 2.7.1 多重所有权(Multiple Ownership)
-26 (p26): 2.7.2 敏感转型
-27 (p28): 2.7.3 不敏感转型
-28 (p28): 2.7.4 转型数目(Fanout)
-29 (p29): 2.8 const关键字的使用
-30 (p29): 2.8.1 抽象const对比位元const
-31 (p31): 2.8.2 最大限度地使用const
-32 (p32): 2.8.3 对const不安全的解释
-33 (p33): 2.9 总结
-34 (p34): 2.10 练习
-35 (p37): 2.11 参考文献和相关资料
-36 (p39): 第3章 扩展性
-37 (p39): 3.1 扩展性的权衡
-38 (p40): 3.2 扩展性和继承
-39 (p41): 3.2.1 只继承基类的接口
-40 (p42): 3.2.2 只继承基类的实现
-41 (p43): 3.2.3 同时继承基类的接口和实现
-42 (p43): 3.3 继承语义(Semantie)
-43 (p45): 3.4 继承的障碍
-44 (p45): 3.4.1 非虚成员函数
-45 (p47): 3.4.2 过度保护
-46 (p48): 3.4.3 模块化不足
-47 (p51): 3.4.4 friend关键字的使用
-48 (p52): 3.4.5 成员变量过多
-49 (p52): 3.4.6 非虚(Nonvirtual)派生
-50 (p53): 3.4.7 妨碍继承的成员函数
-51 (p55): 3.5 派生赋值问题
-52 (p57): 3.6 允许入侵(用户修改源代码)继承
-53 (p58): 3.7 总结
-54 (p58): 3.8 练习
-55 (p60): 3.9 参考文献和相关资料
-56 (p61): 第4章 效率
-57 (p61): 4.1 效率和重用性
-58 (p62): 4.2 程序创建时间
-59 (p62): 4.2.1 编译时间
-60 (p64): 4.2.2 实例化时间
-61 (p69): 4.3 代码大小
-62 (p69): 4.3.1 源文件分割
-63 (p71): 4.3.2 外联的(outlined)inline
-64 (p71): 4.3.3 模板特化大小
-65 (p72): 4.4 运行时间
-66 (p72): 4.4.1 内联(inlning)
-67 (p74): 4.4.2 虚函数
-68 (p76): 4.4.3 返回引用
-69 (p78): 4.5 空闲存储空间(free-store)和堆栈空间(stack space)
-70 (p79): 4.5.1 使用高效的算法
-71 (p80): 4.5.2 尽可能快地释放空闲资源
-72 (p81): 4.5.3 静态对象
-73 (p82): 4.5.4 庞大的对象
-74 (p83): 4.6 效率的权衡
-75 (p84): 4.6.1 实现更加困难
-76 (p86): 4.6.2 使用更加困难
-77 (p86): 4.7 总结
-78 (p87): 4.8 练习
-79 (p89): 4.9 参考文献和相关资料
-80 (p91): 第5章 错误
-81 (p91): 5.1 可重用代码中的错误
-82 (p92): 5.2 错误检测
-83 (p93): 5.2.1 函数前提条件
-84 (p93): 5.2.2 表示不变性
-85 (p95): 5.3 处理错误
-86 (p95): 5.3.1 程序库变量
-87 (p95): 5.3.2 解决问题
-88 (p96): 5.3.3 程序退出或者程序终止(Exit or Abort)
-89 (p96): 5.3.4 抛出异常
-90 (p97): 5.3.5 返回错误值
-91 (p98): 5.3.6 创建Nil值
-92 (p99): 5.3.7 把无效的数据解释为有效的数据
-93 (p99): 5.3.8 允许不确定的行为
-94 (p100): 5.4 资源限制(Resource-Limit)错误
-95 (p100): 5.4.1 堆栈溢出
-96 (p101): 5.4.2 用完空闲存储空间
-97 (p102): 5.4.3 文件系统限制
-98 (p103): 5.5 异常安全性
-99 (p104): 5.5.1 不一致的状态
-100 (p105): 5.5.2 资源泄漏
-101 (p106): 5.6 总结
-102 (p107): 5.7 练习
-103 (p110): 5.8 参考文献和相关资料
-104 (p111): 第6章 冲突
-105 (p111): 6.1 全局名称
-106 (p112): 6.1.1 翻译单元
-107 (p112): 6.1.2 类的定义
-108 (p114): 6.1.3 函数和数据的定义
-109 (p114): 6.1.4 程序库的蕴涵意义
-110 (p115): 6.1.5 命名约定
-111 (p117): 6.1.6 namespace(名字空间)结构
-112 (p118): 6.2 宏名称
-113 (p118): 6.2.1 宏名称冲突
-114 (p119): 6.2.2 去掉宏
-115 (p121): 6.2.3 宏的命名约定
-116 (p121): 6.3 环境名称
-117 (p122): 6.4 Unclean程序库
-118 (p123): 6.5 Good-Citizen程序库
-119 (p123): 6.6 总结
-120 (p124): 6.7 练习
-121 (p125): 6.8 参考文献和相关资料
-122 (p127): 第7章 兼容性
-123 (p127): 7.1 向后和向前兼容性
-124 (p128): 7.2 兼容性的形式
-125 (p129): 7.3 理论源代码兼容性
-126 (p130): 7.4 实际源代码兼容性
-127 (p131): 7.5 链接兼容牲
-128 (p133): 7.6 运行兼容牲
-129 (p134): 7.7 进程兼容性
-130 (p135): 7.8 文档化不兼容性
-131 (p135): 7.9 非文档化特性
-132 (p136): 7.10 总结
-133 (p137): 7.11 练习
-134 (p142): 7.12 参考文献和相关资料
-135 (p143): 第8章 继承体系
-136 (p143): 8.1 根数目、深度和扇出数
-137 (p146): 8.2 体系类型
-138 (p146): 8.2.1 直接体系
-139 (p147): 8.2.2 接口体系
-140 (p149): 8.2.3 对象工厂(Object Factory)
-141 (p151): 8.2.4 句柄体系
-142 (p154): 8.3 模板还是继承
-143 (p155): 8.3.1 指针操纵
-144 (p156): 8.3.2 派生要求
-145 (p157): 8.3.3 实现不需要的函数
-146 (p158): 8.4 总结
-147 (p159): 8.5 练习
-148 (p161): 8.6 参考文献和相关资料
-149 (p163): 第9章 移植性
-150 (p163): 9.1 有编写可移植代码的必要吗
-151 (p163): 9.1.1 可移植性的优缺点
-152 (p164): 9.1.2 目标代码和创建过程的可移植性
-153 (p165): 9.2 不断发展的语言定义
-154 (p165): 9.2.1 冲突
-155 (p166): 9.2.2 实现的完整性
-156 (p166): 9.3 不确定的行为
-157 (p167): 9.3.1 排列方式和补全(padding)
-158 (p168): 9.3.2 地址操纵
-159 (p169): 9.4 合法但不可移植的代码
-160 (p169): 9.4.1 实现性定义的行为
-161 (p170): 9.4.2 未经指定的行为
-162 (p171): 9.5 实现依赖性
-163 (p172): 9.6 可移植的数据文件
-164 (p173): 9.7 模板实例化
-165 (p173): 9.7.1 自动的实例化器
-166 (p177): 9.7.2 人工实例化
-167 (p179): 9.8 运行期程序库
-168 (p180): 9.9 其他移植性问题
-169 (p181): 9.10 总结
-170 (p182): 9.11 练习
-171 (p184): 9.12 参考文献和相关资料
-172 (p185): 第10章 使用其他程序库
-173 (p185): 10.1 为何要重用其他程序库
-174 (p186): 10.2 使用其他程序库的缺点
-175 (p186): 10.2.1 获得可重用程序库
-176 (p187): 10.2.2 效率
-177 (p187): 10.2.3 冲突
-178 (p188): 10.2.4 版本同步
-179 (p190): 10.3 自含式(Self-Contained)程序库
-180 (p190): 10.3.1 实现困难
-181 (p191): 10.3.2 使用困难
-182 (p192): 10.3.3 效率
-183 (p192): 10.3.4 隔离
-184 (p193): 10.4 总结
-185 (p193): 10.5 练习
-186 (p195): 第11章 文档编制
-187 (p195): 11.1 文档编制和重用性
-188 (p196): 11.2 设计文档
-189 (p196): 11.3 使用指南
-190 (p197): 11.3.1 对读者的背景知识了如指掌
-191 (p197): 11.3.2 用抽象的观点来编写
-192 (p198): 11.3.3 先解释普通用法
-193 (p198): 11.3.4 一次只解释一个事物
-194 (p199): 11.3.5 解释用法,不解释设计思路
-195 (p199): 11.3.6 简单清楚地编写
-196 (p199): 11.3.7 准确地使用语言
-197 (p200): 11.3.8 使用普遍接受的术语
-198 (p200): 11.3.9 深刻理解重载的术语
-199 (p201): 11.3.10 给出合法的、无错误的代码
-200 (p201): 11.3.11 保持简短的代码段
-201 (p201): 11.3.12 避免使用太大的函数
-202 (p202): 11.3.13 提供在线实例
-203 (p203): 11.4 参考手册
-204 (p203): 11.4.1 抽象化
-205 (p203): 11.4.2 语法接口
-206 (p205): 11.4.3 函数语义
-207 (p206): 11.4.4 模板参数约束
-208 (p207): 11.5 总结
-209 (p207): 11.6 练习
-210 (p208): 11.7 参考文献和相关资料
-211 (p209): 第12章 其他话题
-212 (p209): 12.1 静态初始化问题
-213 (p210): 12.1.1 构造和析构的时刻
-214 (p211): 12.1.2 程序库的蕴含意义
-215 (p213): 12.1.3 初始化函数
-216 (p214): 12.1.4 初始化检查
-217 (p216): 12.1.5 初始化对象
-218 (p217): 12.1.6 双构造
-219 (p218): 12.2 局部化开销原则
-220 (p219): 12.2.1 局部化开销和C++
-221 (p219): 12.2.2 局部化开销和程序库
-222 (p220): 12.3 内生类和外生类
-223 (p222): 12.4 迭代器
-224 (p224): 12.5 类耦合
-225 (p226): 12.6 推迟决定
-226 (p229): 12.7 总结
-227 (p229): 12.8 练习
-228 (p232): 12.9 参考文献和相关资料
-229 (p233): 中英文术语对照表
-230 (p261): 参考文献
开源日期
2025-01-15
更多信息……

🚀 快速下载

成为会员以支持书籍、论文等的长期保存。为了感谢您对我们的支持,您将获得高速下载权益。❤️
如果您在本月捐款,您将获得双倍的快速下载次数。

🐢 低速下载

由可信的合作方提供。 更多信息请参见常见问题解答。 (可能需要验证浏览器——无限次下载!)

所有选项下载的文件都相同,应该可以安全使用。即使这样,从互联网下载文件时始终要小心。例如,确保您的设备更新及时。
  • 对于大文件,我们建议使用下载管理器以防止中断。
    推荐的下载管理器:JDownloader
  • 您将需要一个电子书或 PDF 阅读器来打开文件,具体取决于文件格式。
    推荐的电子书阅读器:Anna的档案在线查看器ReadEraCalibre
  • 使用在线工具进行格式转换。
    推荐的转换工具:CloudConvertPrintFriendly
  • 您可以将 PDF 和 EPUB 文件发送到您的 Kindle 或 Kobo 电子阅读器。
    推荐的工具:亚马逊的“发送到 Kindle”djazz 的“发送到 Kobo/Kindle”
  • 支持作者和图书馆
    ✍️ 如果您喜欢这个并且能够负担得起,请考虑购买原版,或直接支持作者。
    📚 如果您当地的图书馆有这本书,请考虑在那里免费借阅。