C和C++代码精粹

978-7-115-33027-7
作者: 【美】Chuck Allison
译者: 董慧颖
编辑: 傅道坤

图书目录:

目 录

第 一部分 预备知识

第 1章 更好的C 3

1.1 两种语言简述 3

1.2 循序渐进 4

1.3 类型系统 4

1.4 函数原型 5

1.5 类型安全连接 9

1.6 引用 10

1.7 类型安全I/O 11

1.8 标准流 12

1.9 格式化 15

1.10 操纵器 19

1.11 函数重载和函数模板 23

1.12 运算符重载 24

1.13 内联函数 26

1.14 默认参数 26

1.15 new和delete 27

1.16 语句声明 28

1.17 标准库特征 29

1.18 C的兼容性 29

1.19 小结 31

第 2章 指针 33

2.1 容易出错的编程 33

2.2 基础 33

2.3 指针运算 37

2.4 传引用语义 41

2.5 普通指针 42

2.6 const指针 43

2.7 指针和一维数组 45

2.8 数组作为参数 50

2.9 字符串数组 52

2.10 指针和多维数组 54

2.11 更高深的内容 56

2.12 指向函数的指针 59

2.13 指向成员函数的指针 62

2.14 封装和不完全类型 64

2.15 小结 69

第3章 预处理器 71

3.1 #include指令 71

3.2 其他的预处理指令 72

3.3 预定义宏 75

3.4 条件编译 76

3.5 预处理运算符 77

3.6 实现assert 79

3.7 宏的魅力 81

3.8 字符集、三字符运算符和双字符运算符 84

3.9 翻译阶段 87

3.10 小结 88

第4章 C标准库之一:面向合格的程序员 89

4.1  90

4.2  93

4.3  98

4.4  107

第5章 C标准库之二:面向熟练的程序员 111

5.1  111

5.2  112

5.3  116

5.4  118

5.5 字符集 121

5.6 代码页 124

5.7 字符集标准 124

5.8 ISO 10646 124

5.9 统一字符编码 125

第6章 C标准库之三:面向优秀的程序员 127

6.1  127

6.2  129

6.3  134

6.4  134

6.5  137

6.6  138

6.7  139

6.8 va_list作为参数 141

6.9 应用 142

6.10 结论 146

6.11 浮点数系统 146

第 二部分 主要概念

第7章 抽象 157

7.1 数据抽象 157

7.2 运算符重载 166

7.3 具体的数据类型 171

7.4 类型抽象 177

7.5 函数抽象 180

7.6 小结 180

第8章 模板 181

8.1 泛型编程 183

8.2 函数模板 184

8.3 类模板 185

8.4 模板参数 190

8.5 模板特化 192

8.6 小结 196

第9章 位操作 197

9.1 按位运算符 197

9.2 访问单独的位 199

9.3 大型置位 205

9.4 位字符串 218

9.5 Wish List 218

9.6 bitset模板 219

9.7 vector模板特化 221

9.8 小结 222

第 10章 类型转换和强制类型转换 223

10.1 整数的升级 223

10.2 降级 227

10.3 算术类型转换 229

10.4 函数原型 231

10.5 显式类型转换 232

10.6 函数风格强制类型转换 233

10.7 const的正确性 234

10.8 用户定义的类型转换 236

10.9 加强运算符[] 242

10.10 新风格强制类型转换 244

10.11 小结 246

第 11章 可见性 247

11.1 名字中包含什么 247

11.2 作用域 247

11.3 **小的作用域 250

11.4 类的作用域 251

11.5 嵌套类 257

11.6 局部类 259

11.7 典型的名字空间 260

11.8 名字空间的作用域 262

11.9 生存期 264

11.10 临时对象的生存期 267

11.11 连接 268

11.12 类型安全连接 271

11.13 “语言”连接 272

11.14 小结 272

第 12章 控制结构 275

12.1 结构化编程 275

12.2 分支 285

12.3 非局部分支 288

12.4 信号 292

12.5 小结 297

12.6 参考文献 298

第 13章 异常 299

13.1 可选择的错误处理方法 299

13.2 堆栈展开 305

13.3 异常捕捉 307

13.4 标准异常 310

13.5 资源管理 311

13.6 构造函数和异常 315

13.7 内存管理 321

13.8 异常规范 322

13.9 错误处理策略 324

13.10 小结 327

第 14章 面向对象编程 329

14.1 继承 332

14.2 不同种类的集合 334

14.3 虚函数和多态 335

14.4 抽象基类 337

14.5 实例研究:一个对象持续的框架 341

14.6 数据库访问 343

14.7 映射对象到相关模式 345

14.8 PFX的结构 346

14.9 一个代码的预排 349

14.10 小结 370

第三部分 使用标准库

第 15章 算法 373

15.1 复杂度 374

15.2 通用算法 376

15.3 函数对象 380

15.4 函数种类 382

15.5 函数对象适配器 383

15.6 算法种类 384

15.7 小结 387

15.8 参考文献 387

第 16章 容器和迭代器 389

16.1 标准容器 392

16.2 迭代器 393

16.3 迭代器种类 394

16.4 特殊用途的迭代器 396

16.5 容器适配器 399

16.6 关联容器 400

16.7 应用 400

16.8 非标准模板库容器 409

16.9 小结 411

第 17章 文本处理 413

17.1 scanf 413

17.2 printf 418

17.3 子字符串 421

17.4 标准C++字符串类 428

17.5 字符串流 431

17.6 宽字符串 433

17.7 小结 433

第 18章 文件处理 435

18.1 过滤器 435

18.2 二进制文件 438

18.3 记录处理 440

18.4 临时文件 446

18.5 可移植性 447

18.6 POSIX 447

18.7 文件描述符 447

18.8 通过描述符来拷贝文件 448

18.9 读目录条目 450

18.10 重定向标准错误 455

18.11 封装重定向操作 458

18.12 小结 464

第 19章 时间和日期处理 465

19.1 Julian日期编码 471

19.2 用于实际工作的日期类 490

19.3 计算年的星期数 517

19.4 小结 518

19.5 参考文献 518

第 20章 动态内存管理 519

20.1 参差数组 519

20.2 在标准C中使用堆 521

20.3 C++的自由存储 525

20.4 浅拷贝与深拷贝 526

20.5 处理内存分配失败 529

20.6 重载new和delete 530

20.7 配置new 532

20.8 堆的管理 534

20.9 避免内存管理 535

20.10 小结 542

附录

附录A C/C++的兼容性 543

附录B 标准C++算法 545

附录C 函数对象和适配器 555

附录D 有注解的参考书目 559

附录E C++标准的制定 561

详情

本书基于作者备受好评的C/C++ User Journal杂志上的每月专栏,通过大量完全符合ISO标准C++的程序集合,讲解了指针、预处理器、C标准库、抽象、模板、异常、算法、容器、文件处理、动态内存管理等不同层次的知识。

图书摘要

相关图书

DirectX 12 3D 游戏开发实战
DirectX 12 3D 游戏开发实战
Python和NLTK自然语言处理
Python和NLTK自然语言处理
scikit-learn机器学习(第2版)
scikit-learn机器学习(第2版)
C++编程自学宝典
C++编程自学宝典
数据科学实战手册(第2版)
数据科学实战手册(第2版)
Scala实用指南
Scala实用指南

相关文章

相关课程