王朝百科
分享
 
 
 

C++沉思录

王朝百科·作者佚名  2010-03-04  
宽屏版  字体: |||超大  

C++沉思录

版权信息书 名: C++沉思录

作者:(美)(BarbaraMoo) 莫欧 (美)(AndrewKoenig)凯尼格

出版社:人民邮电出版社

出版时间: 2008

ISBN: 9787115171788

开本: 16

定价: 55.00 元

内容简介这是一本C++编程方面的经典书籍,作者是一对享有盛誉的技术伉俪,Andrew Boeing和Barbar Moo。本书基于作者在知名技术杂志发表的技术文章、世界各地发表的演讲以及斯坦福大学的课程讲义整理、写作而成,融聚了作者10多年C++程序生涯的真知灼见。全书分为大部分,共32章,分别对C++语言的历史和特点、类和继承、STL与泛型编程、库的设计等几大技术话题进行了详细而深入的讨论,细微之处几乎涵盖了C++所有的设计思想和技术细节。全书通过精心挑选的实例,向读者传达先进的程序设计的方法和理念。本书适合有一定C++编程经验的程序员阅读。

目录序幕1

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为什么用C14

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的Pointer159

13.5有用的增强操作161

第14章迭代器167

14.1完成Pointer类167

14.2什么是迭代器170

14.3删除元素171

14.4删除容器172

14.5其他设计考虑173

14.6讨论174

第15章序列175

15.1技术状况175

15.2基本的传统观点176

15.3增加一些额外操作181

15.4使用范例184

15.5再增加一些188

15.6请你思考190

第16章作为接口的模板191

16.1问题191

16.2第一个例子192

16.3分离迭代方式192

16.4遍历任意类型195

16.5增加其他类型196

16.6将存储技术抽象化196

16.7实证199

16.8小结200

第17章模板和泛型算法203

17.1一个特例204

17.2泛型化元素类型205

17.3推迟计数205

17.4地址独立性207

17.5查找非数组208

17.6讨论210

第18章泛型迭代器213

18.1一个不同的算法213

18.2需求的分类215

18.3输入迭代器216

18.4输出迭代器216

18.5前向迭代器217

18.6双向迭代器218

18.7随机存取迭代器218

18.8是继承吗220

18.9性能220

18.10小结221

第19章使用泛型迭代器223

19.1迭代器类型224

19.2虚拟序列224

19.3输出流迭代器227

19.4输入流迭代器229

19.5讨论232

第20章迭代器配接器233

20.1一个例子233

20.2方向不对称性235

20.3一致性和不对称性236

20.4自动反向237

20.5讨论240

第21章函数对象241

21.1一个例子241

21.2函数指针244

21.3函数对象246

21.4函数对象模板248

21.5隐藏中间类型249

21.6一种类型包罗万象250

21.7实现251

21.8讨论253

第22章函数配接器255

22.1为什么是函数对象255

22.2用于内建操作符的函数对象256

22.3绑定者(Binders)257

22.4更深入地探讨258

22.5接口继承259

22.6使用这些类260

22.7讨论261

第四篇库

第23章日常使用的库265

23.1问题265

23.2理解问题:第1部分267

23.3实现:第1部分267

23.4理解问题:第2部分270

23.5实现:第2 部分270

23.6讨论272

第24章一个库接口设计实例275

24.1复杂问题276

24.2优化接口277

24.3温故知新279

24.4编写代码280

24.5结论282

第25章库设计就是语言设计283

25.1字符串283

25.2内存耗尽284

25.3复制287

25.4隐藏实现290

25.5缺省构造函数292

25.6其他操作293

25.7子字符串295

25.8结论296

第26章语言设计就是库设计297

26.1抽象数据类型297

26.1.1构造函数与析构函数297

26.1.2成员函数及可见度控制299

26.2库和抽象数据类型299

26.2.1类型安全的链接(linkage)299

26.2.2命名空间300

26.3内存分配302

26.4按成员赋值(memberwise assignment)和初始化303

26.5异常处理305

26.6小结306

第五篇技术

第27章自己跟踪自己的类309

27.1设计一个跟踪类309

27.2创建死代码312

27.3生成对象的审计跟踪313

27.4验证容器行为315

27.5小结320

第28章在簇中分配对象321

28.1问题321

28.2设计方案321

28.3实现324

28.4加入继承326

28.5小结327

第29章应用器、操纵器和函数对象329

29.1问题329

29.2一种解决方案332

29.3另一种不同的解决方案332

29.4多个参数334

29.5一个例子335

29.6简化337

29.7思考338

29.8历史记录、参考资料和致谢339

第30章将应用程序库从输入输出中分离出来341

30.1问题341

30.2解决方案1:技巧加蛮力342

30.3解决方案2:抽象输出343

30.4解决方案3:技巧,但无蛮力345

30.5评论348

第六篇总结

第31章通过复杂性获取简单性351

31.1世界是复杂的351

31.2复杂性变得隐蔽352

31.3计算机也是一样353

31.4计算机解决实际问题354

31.5类库和语言语义355

31.6很难使事情变得容易357

31.7抽象和接口357

31.8复杂度的守恒358

第32章说了Hello world后再做什么361

32.1找当地的专家361

32.2选一种工具包并适应它362

32.3C的某些部分是必需的362

32.4C的其他部分不是必需的364

32.5给自己设一些问题366

32.6结论368

附录Koenig和Moo夫妇访谈371

索引377

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
如何用java替换看不见的字符比如零宽空格​十六进制U+200B
 干货   2023-09-10
网页字号不能单数吗,网页字体大小为什么一般都是偶数
 干货   2023-09-06
java.lang.ArrayIndexOutOfBoundsException: 4096
 干货   2023-09-06
Noto Sans CJK SC字体下载地址
 干货   2023-08-30
window.navigator和navigator的区别是什么?
 干货   2023-08-23
js获取referer、useragent、浏览器语言
 干货   2023-08-23
oscache遇到404时会不会缓存?
 干货   2023-08-23
linux下用rm -rf *删除大量文件太慢怎么解决?
 干货   2023-08-08
刀郎新歌破世界纪录!
 娱乐   2023-08-01
js实现放大缩小页面
 干货   2023-07-31
生成式人工智能服务管理暂行办法
 百态   2023-07-31
英语学习:过去完成时The Past Perfect Tense举例说明
 干货   2023-07-31
Mysql常用sql命令语句整理
 干货   2023-07-30
科学家复活了46000年前的虫子
 探索   2023-07-29
英语学习:过去进行时The Past Continuous Tense举例说明
 干货   2023-07-28
meta name="applicable-device"告知页面适合哪种终端设备:PC端、移动端还是自适应
 干货   2023-07-28
只用css如何实现打字机特效?
 百态   2023-07-15
css怎么实现上下滚动
 干货   2023-06-28
canvas怎么画一个三角形?
 干货   2023-06-28
canvas怎么画一个椭圆形?
 干货   2023-06-28
canvas怎么画一个圆形?
 干货   2023-06-28
canvas怎么画一个正方形?
 干货   2023-06-28
中国河南省郑州市金水区蜘蛛爬虫ip大全
 干货   2023-06-22
javascript简易动态时间代码
 干货   2023-06-20
感谢员工的付出和激励的话怎么说?
 干货   2023-06-18
 
>>返回首页<<
 
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有