《C和C++代码精粹》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:(美)埃里森著;董慧颖译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2013
  • ISBN:9787115330277
  • 页数:567 页
图书介绍:本书基于作者备受好评的C/C++User Journal杂志上的每月专栏,通过大量完全符合ISO标准C++的程序集合,讲解了指针、预处理器、C标准库、抽象、模板、异常、算法、容器、文件处理、动态内存管理等不同层次的知识。

第一部分 预备知识 3

第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.15new和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 <ctype.h> 90

4.2 <stdio.h> 93

4.3 <stdli.h> 98

4.4 <strin.h> 107

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

5.1 <assert.h> 111

5.2 <limits.h> 112

5.3 <stddef.h> 116

5.4 <time.h> 118

5.5字符集 121

5.6代码页 124

5.7字符集标准 124

5.8 ISO 10646 124

5.9统一字符编码 125

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

6.1 <float.h> 127

6.2 <math.h> 129

6.3 <errno.h> 134

6.4 <locale.h> 134

6.5 <setjmp.h> 137

6.6 <signal.h> 138

6.7 <stdarg.h> 139

6.8 va_list作为参数 141

6.9应用 142

6.10结论 146

6.11浮点数系统 146

第二部分 主要概念 157

第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<bool>模板特化 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

第三部分 使用标准库 373

第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

附录 543

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

附录B 标准C+++算法 545

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

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

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