C++程序设计语言(第1-3部分)(原书第4版)pdf

图书网 2018年8月24日14:03:3654.2K1

C++程序设计语言(第1-3部分)(原书第4版) 内容简介

《C++程序设计语言》(原书第4版)是C++领域经典的参考书,介绍了C++11的各项新特性和新功能。全书共分四部分。部分(第1~5章)是引言,包括C++的背景知识,C++语言及其标准库的简要介绍;第二部分(第6~15章)介绍C++的内置类型和基本特性,以及如何用它们构造程序;第三部分(第16~29章)介绍C++的抽象机制及如何用这些机制编写面向对象程序和泛型程序;第四部分(第30~44章)概述标准库并讨论一些兼容性问题。由于篇幅问题,原书中文版分两册出版,分别对应原书的至三部分和第四部分。这一册为至三部分。

C++程序设计语言(第1-3部分)(原书第4版) 目录

出版者的话

译者序

前言

第3版前言

第2版前言

第1版前言

第一部分引言

第1章致读者2

1.1本书结构2

1.1.1引言2

1.1.2基本特性3

1.1.3抽象机制4

1.1.4标准库5

1.1.5例子和参考文献5

1.2C++的设计7

1.2.1程序设计风格8

1.2.2类型检查11

1.2.3C兼容性12

1.2.4语言、库和系统12

1.3学习C++14

1.3.1用C++编程15

1.3.2对C++程序员的建议16

1.3.3对C程序员的建议16

1.3.4对Java程序员的建议17

1.4C++的历史18

1.4.1大事年表19

1.4.2早期的C++19

1.4.31998标准21

1.4.42011标准23

1.4.5C++的用途26

1.5建议27

1.6参考文献28

第2章C++概览:基础知识32

2.1引言32

2.2基本概念33

2.2.1Hello,World!33

2.2.2类型、变量和算术运算34

2.2.3常量36

2.2.4检验和循环37

2.2.5指针、数组和循环38

2.3用户自定义类型40

2.3.1结构41

2.3.2类42

2.3.3枚举43

2.4模块化44

2.4.1分离编译45

2.4.2名字空间46

2.4.3错误处理47

2.5附记50

2.6建议50

第3章C++概览:抽象机制51

3.1引言51

3.2类51

3.2.1具体类型52

3.2.2抽象类型56

3.2.3虚函数58

3.2.4类层次59

3.3拷贝和移动62

3.3.1拷贝容器63

3.3.2移动容器64

3.3.3资源管理66

3.3.4抑制操作66

3.4模板67

3.4.1参数化类型67

3.4.2函数模板69

3.4.3函数对象69

3.4.4可变参数模板71

3.4.5别名72

3.5建议73

第4章C++概览:容器与算法74

4.1标准库74

4.1.1标准库概述75

4.1.2标准库头文件与名字空间75

4.2字符串77

4.3I/O流78

4.3.1输出78

4.3.2输入79

4.3.3用户自定义类型的I/O80

4.4容器81

4.4.1vector81

4.4.2list84

4.4.3map85

4.4.4unordered_map86

4.4.5容器概述86

4.5算法87

4.5.1使用迭代器88

4.5.2迭代器类型90

4.5.3流迭代器91

4.5.4谓词93

4.5.5算法概述93

4.5.6容器算法94

4.6建议94

第5章C++概览:并发与实用功能96

5.1引言96

5.2资源管理96

5.2.1unique_ptr与shared_ptr97

5.3并发99

5.3.1任务和thread99

5.3.2传递参数100

5.3.3返回结果100

5.3.4共享数据101

5.3.5任务通信103

5.4小工具组件106

5.4.1时间106

5.4.2类型函数107

5.4.3pair和tuple109

5.5正则表达式110

5.6数学计算111

5.6.1数学函数和算法111

5.6.2复数111

5.6.3随机数112

5.6.4向量算术113

5.6.5数值限制113

5.7建议114

第二部分基本功能

第6章类型与声明116

6.1ISOC++标准116

6.1.1实现117

6.1.2基本源程序字符集118

6.2类型118

6.2.1基本类型119

6.2.2布尔值119

6.2.3字符类型121

6.2.4整数类型124

6.2.5浮点数类型126

6.2.6前缀和后缀127

6.2.7void128

6.2.8类型尺寸128

6.2.9对齐130

6.3声明131

6.3.1声明的结构133

6.3.2声明多个名字134

6.3.3名字134

6.3.4作用域136

6.3.5初始化138

6.3.6推断类型:auto和decltype()141

6.4对象和值144

6.4.1左值和右值144

6.4.2对象的生命周期145

6.5类型别名146

6.6建议147

第7章指针、数组与引用148

7.1引言148

7.2指针148

7.2.1void*149

7.2.2nullptr150

7.3数组150

7.3.1数组的初始化器152

7.3.2字符串字面值常量152

7.4数组中的指针155

7.4.1数组漫游156

7.4.2多维数组158

7.4.3传递数组159

7.5指针与const161

7.6指针与所有权163

7.7引用163

7.7.1左值引用164

7.7.2右值引用167

7.7.3引用的引用169

7.7.4指针与引用170

7.8建议172

第8章结构、联合与枚举173

8.1引言173

8.2结构173

8.2.1struct的布局175

8.2.2struct的名字176

8.2.3结构与类177

8.2.4结构与数组178

8.2.5类型等价180

8.2.6普通旧数据180

8.2.7域182

8.3联合183

8.3.1联合与类185

8.3.2匿名union186

8.4枚举188

8.4.1enumclass188

8.4.2普通的enum191

8.4.3未命名的enum192

8.5建议193

第9章语句194

9.1引言194

9.2语句概述194

9.3声明作为语句195

9.4选择语句196

9.4.1if语句196

9.4.2switch语句198

9.4.3条件中的声明200

9.5循环语句201

9.5.1范围for语句201

9.5.2for语句202

9.5.3while语句203

9.5.4do语句203

9.5.5退出循环204

9.6goto语句204

9.7注释与缩进205

9.8建议207

第10章表达式208

10.1引言208

10.2一个桌面计算器示例208

10.2.1分析器209

10.2.2输入213

10.2.3底层输入216

10.2.4错误处理217

10.2.5驱动程序217

10.2.6头文件218

10.2.7命令行参数218

10.2.8关于风格220

10.3运算符概述220

10.3.1结果224

10.3.2求值顺序224

10.3.3运算符优先级225

10.3.4临时对象226

10.4常量表达式227

10.4.1符号化常量229

10.4.2常量表达式中的const229

10.4.3字面值常量类型229

10.4.4引用参数230

10.4.5地址常量表达式231

10.5隐式类型转换231

10.5.1提升231

10.5.2类型转换232

10.5.3常用的算术类型转换234

10.6建议235

第11章选择适当的操作236

11.1其他运算符236

11.1.1逻辑运算符236

11.1.2位逻辑运算符236

11.1.3条件表达式238

11.1.4递增与递减238

11.2自由存储240

11.2.1内存管理241

11.2.2数组243

11.2.3获取内存空间244

11.2.4重载new245

11.3列表247

11.3.1实现模型248

11.3.2限 定列表249

11.3.3未限 定列表249

11.4lambda表达式251

11.4.1实现模型251

11.4.2lambda的替代品252

11.4.3捕获254

11.4.4调用与返回257

11.4.5lambda的类型257

11.5显式类型转换258

11.5.1构造259

11.5.2命名转换261

11.5.3C风格的转换262

11.5.4函数形式的转换262

11.6建议263

第12章函数264

12.1函数声明264

12.1.1为什么使用函数265

12.1.2函数声明的组成要件265

12.1.3函数定义266

12.1.4返回值267

12.1.5inline函数269

12.1.6constexpr函数269

12.1.7((noreturn))函数271

12.1.8局部变量272

12.2参数传递273

12.2.1引用参数273

12.2.2数组参数275

12.2.3列表参数277

12.2.4数量未定的参数278

12.2.5默认参数281

12.3重载函数282

12.3.1自动重载解析283

12.3.2重载与返回类型284

12.3.3重载与作用域285

12.3.4多实参解析285

12.3.5手动重载解析286

12.4前置与后置条件286

12.5函数指针288

12.6宏292

12.6.1条件编译294

12.6.2预定义宏295

12.6.3编译指令296

12.7建议296

第13章异常处理297

13.1错误处理297

13.1.1异常298

13.1.2传统的错误处理299

13.1.3渐进决策300

13.1.4另一种视角看异常301

13.1.5何时不应使用异常302

13.1.6层次化错误处理303

13.1.7异常与效率304

13.2异常保障305

13.3资源管理307

13.3.1finally310

13.4强制不变式311

13.5抛出与捕获异常315

13.5.1抛出异常315

13.5.2捕获异常318

13.5.3异常与线程324

13.6vector的实现324

13.6.1一个简单的vector325

13.6.2显式地表示内存328

13.6.3赋值331

13.6.4改变尺寸332

13.7建议335

第14章名字空间337

14.1组合问题337

14.2名字空间338

14.2.1显式限 定339

14.2.2using声明340

14.2.3using指示341

14.2.4参数依赖查找342

14.2.5名字空间是开放的344

14.3模块化和接口345

14.3.1名字空间作为模块346

14.3.2实现348

14.3.3接口和名字349

14.4组合使用名字空间351

14.4.1便利性与安全性351

14.4.2名字空间别名352

14.4.3组合名字空间352

14.4.4组合与选择353

14.4.5名字空间和重载354

14.4.6版本控制356

14.4.7名字空间嵌套358

14.4.8无名名字空间359

14.4.9C头文件359

14.5建议360

第15章源文件与程序362

15.1分离编译362

15.2链接363

15.2.1文件内名字365

15.2.2头文件366

15.2.3单一定义规则368

15.2.4标准库头文件369

15.2.5链接非C++代码370

15.2.6链接和函数指针372

15.3使用头文件373

15.3.1单头文件组织373

15.3.2多头文件组织376

15.3.3包含保护380

15.4程序381

15.4.1非局部变量初始化381

15.4.2初始化和并发382

15.4.3程序终止383

15.5建议384

……

第三部分抽象机制

第16章 类

第17章 构造、清理、拷贝和移动

第18章 运算符重载

第19章 特殊运算符

第20章 派生类

第21章 类层次

第22章 运行时类型信息

第23章 模板

第24章 泛型程序设计

第25章 特例化

第26章 实例化

第27章 模板和类层次

第28章 元编程

第29章 一个矩阵设计

C++程序设计语言(第1-3部分)(原书第4版) 精彩文摘

1.1.2基本特性

C++支持传统的c语言编程风格(也被Je他一些相似的语言所采用),第二部分重点介绍支持C编程风格的C++子集,包括类型、对象、作用域和存储的基本概念,计算的基础(表达式、语句和函数),以及支撑模块化的特性——名字空问、源文件和异常处理。

图书网:C++程序设计语言(第1-3部分)(原书第4版)pdf

继续阅读

→→→→→→→→→→→→→→→→→→→→查找获取

程序设计

重构 改善既有代码的设计(中文版)pdf

《重构:改善既有代码的设计》(中文版)所提的这些重构准则将帮助你一次一小步地修改你的代码,这就减少了过程中的风险。很快你就会把这些重构准则和其名称加入自己的开发词典中,并且朗朗上口...
程序设计

数据结构 C语言版 第2版pdf

适读人群 :普通高校电子信息大类本科生学习、考研,同时也适合零售和培训。 采用“案例驱动”的编写模式。书中结合实际应用,将各章按照“案例引入——数据结构及其操作——案例分析与实现”...
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

评论:5   其中:访客  5   博主  0
    • Najxi
      Najxi 0

      加油

      • bcmhac
        bcmhac 9

        看看

        • mnmn
          mnmn 0

          谢谢兄弟,谢谢大家,谢谢扫者

          • shuyingbanbo
            shuyingbanbo 9

            谢谢兄弟,谢谢大家

            • scatty
              scatty 0

              感谢分享,很有帮助的价值