欢迎光临散文网 会员登陆 & 注册

C++ Primer(中文版 第5版)

2023-06-29 23:08 作者:没有名字如何行走江湖  | 我要投稿

链接:pan.baidu.com/s/1DbGCVS3AfpG_d3hONzhQxw?pwd=ldec 

提取码:ldec

目录


第1章 开始 1

1.1 编写一个简单的C++程序 2

1.2 初识输入输出 5

1.3 注释简介 8

1.4 控制流 10

1.5 类简介 17

1.6 书店程序 21

小结 23

术语表 23

第Ⅰ部分 C++基础 27

第2章 变量和基本类型 29

2.1 基本内置类型 30

2.2 变量 38

2.3 复合类型 45

2.4 const限定符 53

2.5 处理类型 60

2.6 自定义数据结构 64

小结 69

术语表 69

第3章 字符串、向量和数组 73

3.1 命名空间的using声明 74

3.2 标准库类型string 75

3.3 标准库类型vector 86

3.4 迭代器介绍 95

3.5 数组 101

3.6 多维数组 112

小结 117

术语表 117

第4章 表达式 119

4.1 基础 120

4.2 算术运算符 124

4.3 逻辑和关系运算符 126

4.4 赋值运算符 129

4.5 递增和递减运算符 131

4.6 成员访问运算符 133

4.7 条件运算符 134

4.8 位运算符 135

4.9 sizeof运算符 139

4.10 逗号运算符 140

4.11 类型转换 141

4.12 运算符优先级表 147

小结 149

术语表 149

第5章 语句 153

5.1 简单语句 154

5.2 语句作用域 155

5.3 条件语句 156

5.4 迭代语句 165

5.5 跳转语句 170

5.6 try语句块和异常处理 172

小结 178

术语表 178

第6章 函数 181

6.1 函数基础 182

6.2 参数传递 187

6.3 返回类型和return语句 199

6.4 函数重载 206

6.5 特殊用途语言特性 211

6.6 函数匹配 217

6.7 函数指针 221

小结 225

术语表 225

第7章 类 227

7.1 定义抽象数据类型 228

7.2 访问控制与封装 240

7.3 类的其他特性 243

7.4 类的作用域 253

7.5 构造函数再探 257

7.6 类的静态成员 268

小结 273

术语表 273

第Ⅱ部分 C++标准库 275

第8章 IO库 277

8.1 IO类 278

8.2 文件输入输出 283

8.3 string流 287

小结 290

术语表 290

第9章 顺序容器 291

9.1 顺序容器概述 292

9.2 容器库概览 294

9.3 顺序容器操作 305

9.4 vector对象是如何增长的 317

9.5 额外的string操作 320

9.6 容器适配器 329

小结 332

术语表 332

第10章 泛型算法 335

10.1 概述 336

10.2 初识泛型算法 338

10.3 定制操作 344

10.4 再探迭代器 357

10.5 泛型算法结构 365

10.6 特定容器算法 369

小结 371

术语表 371

第11章 关联容器 373

11.1 使用关联容器 374

11.2 关联容器概述 376

11.3 关联容器操作 381

11.4 无序容器 394

小结 397

术语表 397

第12章 动态内存 399

12.1 动态内存与智能指针 400

12.2 动态数组 423

12.3 使用标准库:文本查询程序 430

小结 436

术语表 436

第Ⅲ部分 类设计者的工具 437

第13章 拷贝控制 439

13.1 拷贝、赋值与销毁 440

13.2 拷贝控制和资源管理 452

13.3 交换操作 457

13.4 拷贝控制示例 460

13.5 动态内存管理类 464

13.6 对象移动 470

小结 486

术语表 486

第14章 重载运算与类型转换 489

14.1 基本概念 490

14.2 输入和输出运算符 494

14.3 算术和关系运算符 497

14.4 赋值运算符 499

14.5 下标运算符 501

14.6 递增和递减运算符 502

14.7 成员访问运算符 504

14.8 函数调用运算符 506

14.9 重载、类型转换与运算符 514

小结 523

术语表 523

第15章 面向对象程序设计 525

15.1 OOP:概述 526

15.2 定义基类和派生类 527

15.3 虚函数 536

15.4 抽象基类 540

15.5 访问控制与继承 542

15.6 继承中的类作用域 547

15.7 构造函数与拷贝控制 551

15.8 容器与继承 558

15.9 文本查询程序再探 562

小结 575

术语表 575

第16章 模板与泛型编程 577

16.1 定义模板 578

16.2 模板实参推断 600

16.3 重载与模板 614

16.4 可变参数模板 618

16.5 模板特例化 624

小结 630

术语表 630

第Ⅳ部分 高级主题 633

第17章 标准库特殊设施 635

17.1 tuple类型 636

17.2 bitset类型 640

17.3 正则表达式 645

17.4 随机数 659

17.5 IO库再探 666

小结 680

术语表 680

第18章 用于大型程序的工具 683

18.1 异常处理 684

18.2 命名空间 695

18.3 多重继承与虚继承 710

小结 722

术语表 722

第19章 特殊工具与技术 725

19.1 控制内存分配 726

19.2 运行时类型识别 730

19.3 枚举类型 736

19.4 类成员指针 739

19.5 嵌套类 746

19.6 union:一种节省空间的类 749

19.7 局部类 754

19.8 固有的不可移植的特性 755

小结 762

术语表 762


附录A 标准库 765

A.1 标准库名字和头文件 766

A.2 算法概览 770

A.3 随机数 781

索引 785


查看全部↓

精彩书摘

  7.4.1 名字查找与类的作用域
  在目前为止,我们编写的程序中,名字查找( name lookup)(寻找与所用名字最匹配的声明的过程)的过程比较直截了当: 首先,在名字所在的块中寻找其声明语句,只考虑在名字的使用之前出现的声明。
  如果没找到,继续查找外层作用域。
  如果最终没有找到匹配的声明,则程序报错。
  对于定义在类内部的成员函数来说,解析其中名字的方式与上述的查找规则有所区别,不过在当前的这个例子中体现得不太明显。类的定义分两步处理:
  首先,编译成员的声明。
  直到类全部可见后才编译函数体。
  按照这种两阶段的方式处理类可以简化类代码的组织方式。因为成员函数体直到整个类可见后才会被处理,所以它能使用类中定义的任何名字。相反,如果函数的定义和成员的声明被同时处理,那么我们将不得不在成员函数中只使用那些已经出现的名字。
  用于类成员声明的名字查找 这种两阶段的处理方式只适用于成员函数中使用的名字。声明中使用的名字,包括返回类型或者参数列表中使用的名字,都必须在使用前确保可见。如果某个成员的声明使用了类中尚未出现的名字,则编译器将会在定义该类的作用域中继续查找。
  ……

查看全部↓

前言/序言

  推荐序 

C++11标准公布之后,C++社群出现了久违的热情,有人甚至叫出“C++的复兴”。指望C++回到20世纪90年代中期那样的地位显然是昧于大势的奢望,但是C++经历了这么多年的打磨与起伏,其在工业界的地位已经非常稳固,在很多领域里已经是不可取代也没必要被取代的统治者。新标准的出现能够大大提升C++开发的效率和质量,因此赢得欢呼也是情理之中。在这种氛围之下,编译器实现的速度也令人惊喜。短短两年时间,从开源的GCC、LLVM到专有的 Visual C++和Intel C++,对于新标准的追踪之快,覆盖之全,与当年C++ 98标准颁布之后迟迟不能落地的窘境相比,可谓对比强烈。当年是热情的开发者反复敦促厂商实现完整标准而不得,为此沮丧无奈,那种心情,至今记忆犹新。时过境迁,今天是编译器实现远远冲在前面,开发者倒是大大地落在了后面。  


C++ Primer(中文版 第5版)的评论 (共 条)

分享到微博请遵守国家法律