图书介绍

C++ Primer中文版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

C++ Primer中文版
  • (美)Stanley B.Lippman,(美)Josee Lajoie著;潘爱民,张丽译 著
  • 出版社: 北京:中国电力出版社
  • ISBN:7508309898
  • 出版时间:2002
  • 标注页数:1033页
  • 文件大小:37MB
  • 文件页数:1062页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

C++ Primer中文版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第一篇 C++概述3

第1章 开始3

1.1 问题的解决3

1.2 C++程序4

1.2.1 程序流程控制8

1.3 预处理器指示符10

1.4 注释13

1.5 输入/输出初步15

1.5.1 文件输入和输出16

第2章 C++浏览18

2.1 内置数组数据类型18

2.2 动态内存分配和指针21

2.3 基于对象的设计23

2.4 面向对象的设计32

2.5 泛型设计40

2.6 基于异常的设计46

2.7 用其他名字来命名数组49

2.8 标准数组——向量54

第二篇 基本语言61

第3章 C++数据类型61

3.1 文字常量61

3.2 变量64

3.2.1 什么是变量?66

3.2.2 变量名68

3.2.3 对象的定义69

3.3 指针类型71

3.4 字符串类型76

3.4.1 C风格字符串76

3.4.2 字符串类型78

3.5 const限定修饰符83

3.6 引用类型86

3.7 布尔类型90

3.8 枚举类型91

3.9 数组类型93

3.9.1 多维数组96

3.9.2 数组与指针类型的关系97

3.10 vector容器类型99

3.11 复数类型103

3.12 typedef名字103

3.13 volatile限定修饰符104

3.14 Pair类型105

3.15 类类型106

第4章 表达式116

4.1 什么是表达式?116

4.2 算术操作符118

4.3 等于、关系和逻辑操作符120

4.4 赋值操作符123

4.5 递增和递减操作符126

4.6 复数操作128

4.7 条件操作符131

4.8 sizeof操作符132

4.9 new和delete表达式134

4.10 逗号操作符135

4.11 位操作符136

4.12 bitset操作139

4.13 优先级142

4.14 类型转换146

4.14.1 隐式类型转换147

4.14.2 算术转换148

4.14.3 显式转换149

4.14.4 旧式强制类型转换153

4.15 栈类实例154

第5章 语句159

5.1 简单语句和复合语句159

5.2 声明语句160

5.3 if语句163

5.4 switch语句170

5.5 for循环语句176

5.6 while语句180

5.7 do while语句182

5.8 break语句183

5.9 continue语句184

5.10 goto语句185

5.11 链表示例186

5.11.1 给出一个通用链表类203

第6章 抽象容器类型209

6.1 我们的文本查询系统209

6.2 vector还是list?213

6.3 vecror怎样自己增长214

6.4 定义一个顺序容器217

6.5 迭代器221

6.6 顺序容器操作224

6.6.1 删除操作226

6.6.2 赋值和对换227

6.6.3 泛型算法227

6.7 存储文本行228

6.8 找到一个子串231

6.9 处理标点符号236

6.10 任意其他格式的字符串239

6.11 其他string操作241

6.12 生成文本位置map247

6.12.1 定义并生成map247

6.12.2 查找并获取map中的元素251

6.12.3 对map进行迭代252

6.12.4 单词转换map253

6.12.5 从map中删除元素255

6.13 创建单词排除集256

6.13.1 定义set并放入元素256

6.13.2 搜索一个元素257

6.13.3 迭代一个set对象257

6.14 完整的程序258

6.15 multimap和multiset267

6.16 栈269

6.17 队列和优先级队列271

6.18 回顾iStack类272

第三篇 基于过程的程序设计277

第7章 函数277

7.1 概述277

7.2 函数原型279

7.2.1 函数返回类型279

7.2.2 函数参数表280

7.2.3 参数类型检查281

7.3 参数传递282

7.3.1 引用参数284

7.3.2 引用和指针参数的关系286

7.3.3 数组参数289

7.3.4 抽象容器类型参数291

7.3.5 缺省实参293

7.3.6 省略号(ellipse)295

7.4 返回一个值297

7.4.1 参数和返回值与全局对象300

7.5 递归301

7.6 inline函数302

7.7 链接指示符:extern“C”304

7.8 main():处理命令行选项306

7.8.1 一个处理命令行的类313

7.9 指向函数的指针315

7.9.1 指向函数的指针的类型316

7.9.2 初始化和赋值317

7.9.3 调用317

7.9.4 函数指针的数组318

7.9.5 参数和返回类型319

7.9.6 指向extern“C”函数的指针322

第8章 域和生命期325

8.1 域325

8.1.1 局部域327

8.2 全局对象和函数330

8.2.1 声明和定义330

8.2.2 不同文件之间声明的匹配331

8.2.3 谈谈头文件333

8.3 局部对象335

8.3.1 自动对象335

8.3.2 寄存器自动对象336

8.3.3 静态局部对象337

8.4 动态分配的对象338

8.4.1 单个对象的动态分配与释放339

8.4.2 auto_ptr341

8.4.3 数组的动态分配与释放345

8.4.4 常量对象的动态分配与释放346

8.4.5 定位new表达式347

8.5 名字空间定义349

8.5.1 名字空间定义351

8.5.2 域操作符(∷)353

8.5.3 嵌套名字空间354

8.5.4 名字空间成员定义356

8.5.5 ODR和名字空间成员358

8.5.6 未命名的名字空间359

8.6 使用名字空间成员361

8.6.1 名字空间别名361

8.6.2 using声明362

8.6.3 using指示符363

8.6.4 标准名字空间std366

第9章 重载函数369

9.1 重载函数声明369

9.1.1 为什么要重载一个函数名369

9.1.2 怎样重载一个函数名370

9.1.3 何时不重载一个函数名372

9.1.4 重载与域373

9.1.5 extern“C”和重载函数376

9.1.6 指向重载函数的指针377

9.1.7 类型安全链接378

9.2 重载解析的三个步骤379

9.3 参数类型转换381

9.3.1 精确匹配的细节382

9.3.2 提升的细节386

9.3.3 标准转换的细节388

9.3.4 引用391

9.4 函数重载解析细节393

9.4.1 候选函数394

9.4.2 可行函数397

9.4.3 最佳可行函数399

9.4.4 缺省实参403

第10章 函数模板405

10.1 函数模板定义405

10.2 函数模板实例化411

10.3 模板实参推演414

10.4 显式模板实参417

10.5 模板编译模式420

10.5.1 包含编译模式421

10.5.2 分离编译模式421

10.5.3 显式实例化声明423

10.6 模板显式特化424

10.7 重载函数模板428

10.8 考虑模板函数实例的重载解析431

10.9 模板定义中的名字解析437

10.10 名字空间和函数模板442

10.11 函数模板示例446

第11章 异常处理449

11.1 抛出异常449

11.2 try块452

11.3 捕获异常455

11.3.1 异常对象456

11.3.2 栈展开459

11.3.3 重新抛出459

11.3.4 catch-all处理代码461

11.4 异常规范463

11.4.1 异常规范与函数指针465

11.5 异常与设计事项466

第12章 泛型算法468

12.1 概述468

12.2 使用泛型算述471

12.3 函数对象481

12.3.1 预定义函数对象482

12.3.2 算术函数对象484

12.3.3 关系函数对象484

12.3.4 逻辑函数对象485

12.3.5 函数对象的函数适配器486

12.3.6 实现函数对象486

12.4 回顾iterator488

12.4.1 插入iterator488

12.4.2 反向iterator489

12.4.3 iostream iterator490

12.4.4 istream_iterator491

12.4.5 ostream_iterator492

12.4.6 五种iterator493

12.5 泛型算法494

12.5.1 查找算法495

12.5.2 排序和通用整序算法495

12.5.3 删除和替换算法496

12.5.4 排列组合算法496

12.5.5 算术算法496

12.5.6 生成和异变算法496

12.5.7 关系算法496

12.5.8 集合算法497

12.5.9 堆算法497

12.6 何时不用泛型算法497

12.6.1 list∷merge()498

12.6.2 list∷remove()498

12.6.3 list∷remove_if()498

12.6.4 list∷reverse()499

12.6.5 list∷sort()499

12.6.6 list∷splice()499

12.6.7 list∷unique()500

第四篇 基于对象的程序设计503

第13章 类503

13.1 类定义503

13.1.1 数据成员504

13.1.2 成员函数505

13.1.3 成员访问506

13.1.4 友元507

13.1.5 类声明和类定义508

13.2 类对象509

13.3 类成员函数511

13.3.1 inline和非inline成员函数512

13.3.2 访问类成员513

13.3.3 私有与公有成员函数514

13.3.4 特殊的成员函数517

13.3.5 const和volatile成员函数517

13.3.6 mutable数据成员520

13.4 隐含的this指针521

13.4.1 何时使用this指针523

13.5 静态类成员525

13.5.1 静态成员函数529

13.6 指向类成员的指针532

13.6.1 类成员的类型534

13.6.2 使用指向类成员的指针536

13.6.3 静态类成员的指针538

13.7 联合:一个节省空间的类539

13.8 位域(bit-field):一种节省空间的成员544

13.9 类域545

13.9.1 类域中的名字解析548

13.10 嵌套类551

13.10.1 在嵌套类域中的名字解析557

13.11 作为名字空间成员的类559

13.12 局部类562

第14章 类的初始化、赋值和析构565

14.1 类的初始化565

14.2 类的构造函数567

14.2.1 缺省构造函数572

14.2.2 限制对象创建573

14.2.3 拷贝构造函数574

14.3 类的析构函数576

14.3.1 显式的析构调用579

14.3.2 可能出现的程序代码膨胀579

14.4 类对象数组和vector581

14.4.1 堆数组的初始化583

14.4.2 类对象的vector585

14.5 成员初始化表587

14.6 按成员初始化592

14.6.1 成员类对象的初始化595

14.7 按成员赋值597

14.8 效率问题600

第15章 重载操作符和用户定义的转换605

15.1 操作符重载605

15.1.1 类成员与非成员608

15.1.2 重载操作符的名字611

15.1.3 重载操作符的设计612

15.2 友元614

15.3 操作符=616

15.4 操作符[]618

15.5 操作符operator()619

15.6 操作符->620

15.7 操作符++和--622

15.8 操作符new和delete626

15.8.1 数组操作符new[]和delete[]629

15.8.2 定位操作符new()和delete()631

15.9 用户定义的转换633

15.9.1 转换函数636

15.9.2 用构造函数作为转换函数640

15.10 选择一个转换642

15.10.1 函数重载解析——回顾644

15.10.2 候选函数645

15.10.3 类域中的函数所调用的候选函数647

15.10.4 对用户定义的转换序列划分等级648

15.11 重载解析和成员函数652

15.11.1 重载成员函数的声明652

15.11.2 候选函数653

15.11.3 可行函数653

15.12 重载解析和操作符656

15.12.1 候选的操作符函数657

15.12.2 可行函数660

15.12.3 二义性661

第16章 类模板664

16.1 类模板定义664

16.1.1 Queue和QueueItem类模板的定义669

16.2 类模板实例化671

16.2.1 非类型参数的模板实参675

16.3 类模板的成员函数679

16.3.1 Queue和QueueItem模板成员函数680

16.4 类模板中的友元声明682

16.4.1 Queue和QueueItem的友元声明684

16.5 类模板的静态数据成员687

16.6 类模板的嵌套类型689

16.7 成员模板691

16.8 类模板和编译模式695

16.8.1 包含编译模式696

16.8.2 分离编译模式697

16.8.3 显式实例声明699

16.9 类模板特化700

16.10 类模板部分特化703

16.11 类模板中的名字解析705

16.12 名字空间和类模板707

16.13 模板数组类709

第五篇 面向对象的程序设计719

第17章 类继承和子类型719

17.1 定义一个类层次结构721

17.1.1 面向对象的设计724

17.2 确定层次的成员728

17.2.1 定义基类728

17.2.2 定义派生类732

17.2.3 小结734

17.3 基类成员访问736

17.4 基类和派生类的构造743

17.4.1 基类构造函数744

17.4.2 派生类构造函数745

17.4.3 另外一个类层次结构746

17.4.4 迟缓型错误检测(Lazy error detection)749

17.4.5 析构函数749

17.5 基类和派生类虚拟函数751

17.5.1 虚拟的输入/输出753

17.5.2 纯虚拟函数757

17.5.3 虚拟函数的静态调用759

17.5.4 虚拟函数和缺省实参760

17.5.5 虚拟析构函数762

17.5.6 eval()虚拟函数764

17.5.7 虚拟new操作符768

17.5.8 虚拟函数、构造函数和析构函数770

17.6 按成员初始化和赋值772

17.7 UserQuery管理类776

17.7.1 定义UserQuery类780

17.8 组合起来784

第18章 多继承和虚拟继承790

18.1 准备阶段790

18.2 多继承794

18.3 public、private和protected继承800

18.3.1 继承与组合(composition)802

18.3.2 免除(exempting)个别成员的私有继承影响803

18.3.3 protected继承804

18.3.4 对象组合804

18.4 继承下的类域806

18.4.1 多继承下的类域809

18.5 虚拟继承813

18.5.1 虚拟基类声明815

18.5.2 特殊的初始化语义816

18.5.3 构造函数与析构函数顺序819

18.5.4 虚拟基类成员的可视性820

18.6 多继承及虚拟继承实例823

18.6.1 带有范围检查的Array派生类825

18.6.2 排序的Array派生类827

18.6.3 多重派生的Array类832

第19章 C++中继承的用法835

19.1 RTTI835

19.1.1 dynamic_cast操作符836

19.1.2 typeid操作符840

19.1.3 type_info类842

19.2 异常和继承845

19.2.1 定义为类层次结构的异常845

19.2.2 抛出类类型的异常846

19.2.3 处理类类型的异常847

19.2.4 异常对象和虚拟函数849

19.2.5 栈展开和析构函数调用851

19.2.6 异常规范852

19.2.7 构造函数和函数try块854

19.2.8 C++标准库的异常类层次结构855

19.3 重载解析过程和继承859

19.3.1 候选函数859

19.3.2 可行函数和用户定义的转换序列862

19.3.3 最佳可行函数864

第20章 iostream库868

20.1 输出操作符<<872

20.2 输入876

20.2.1 字符串输入880

20.3 其他输入/输出操作符886

20.4 重载输出操作符<<891

20.5 重载输入操作符>>895

20.6 文件输入和输出897

20.7 条件状态906

20.8 string流908

20.9 格式状态911

20.10 强类型库917

附录 泛型算法(按字母排序)919

accumulate()920

adjacent_difference()921

adjacent_find()922

binary_search()923

copy()924

copy_backward()925

count()926

count_if()927

equal()929

equal_range()930

fill()932

fill_n()933

find()934

find_if()935

find_end()936

find_first_of()937

for_each()939

generate()939

generate_n()940

includes()941

inner_product()942

inplace_merge()943

iter_swap()944

lexicographical_compare()945

lower_bound()947

max()948

max_element()948

min()948

min_element()949

merge()950

mismatch()951

next_permutation()952

nth_element()953

partial_sort()954

partial_sort_copy()955

partial_sum()956

partition()957

prev_permutation()958

random_shuffle()959

remove()960

remove_copy()960

remove_if()961

remove_copy_if()961

replace()962

replace_copy()963

replace_if()964

replace_copy_if()964

reverse()965

reverse_copy()965

rotate()966

rotate_copy()966

search()967

search_n()968

set_difference()969

set_intersection()970

set_symmetric_difference()970

set_union()971

sort()972

stable_partition()973

stable_sort()974

swap()975

swap_range()975

transform()977

unique()978

unique_copy()978

upper_bound()980

堆算法981

make_heap()981

pop_heap()981

push_heap()982

sort_heap()982

英汉对照索引984

热门推荐