图书介绍
C++ Primer Plus 第6版 中文版【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- (美)普拉达著;张海龙,袁国忠译 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115279460
- 出版时间:2012
- 标注页数:936页
- 文件大小:204MB
- 文件页数:954页
- 主题词:C语言-程序设计
PDF下载
下载说明
C++ Primer Plus 第6版 中文版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 预备知识1
1.1 C++简介1
1.2 C++简史2
1.2.1 C语言2
1.2.2 C语言编程原理2
1.2.3 面向对象编程3
1.2.4 C++和泛型编程4
1.2.5 C++的起源4
1.3 可移植性和标准5
1.3.1 C++的发展6
1.3.2 本书遵循的C++标准6
1.4 程序创建的技巧6
1.4.1 创建源代码文件7
1.4.2 编译和链接8
1.5 总结10
第2章 开始学习C++12
2.1 进入C++12
2.1.1 main()函数13
2.1.2 C++注释15
2.1.3 C++预处理器和iostream文件16
2.1.4 头文件名16
2.1.5 名称空间17
2.1.6 使用cout进行C++输出18
2.1.7 C++源代码的格式化19
2.2 C++语句21
2.2.1 声明语句和变量21
2.2.2 赋值语句22
2.2.3 cout的新花样23
2.3 其他C++语句23
2.3.1 使用cin24
2.3.2 使用cout进行拼接24
2.3.3 类简介25
2.4 函数26
2.4.1 使用有返回值的函数26
2.4.2 函数变体29
2.4.3 用户定义的函数29
2.4.4 用户定义的有返回值的函数32
2.4.5 在多函数程序中使用using编译指令33
2.5 总结34
2.6 复习题35
2.7 编程练习35
第3章 处理数据37
3.1 简单变量37
3.1.1 变量名38
3.1.2 整型39
3.1.3 整型short、int、long和long long39
3.1.4 无符号类型43
3.1.5 选择整型类型45
3.1.6 整型字面值45
3.1.7 C++如何确定常量的类型47
3.1.8 char类型:字符和小整数47
3.1.9 bool类型53
3.2 const限定符54
3.3 浮点数55
3.3.1 书写浮点数55
3.3.2 浮点类型56
3.3.3 浮点常量58
3.3.4 浮点数的优缺点58
3.4 C++算术运算符59
3.4.1 运算符优先级和结合性60
3.4.2 除法分支60
3.4.3 求模运算符61
3.4.4 类型转换62
3.4.5 C++11中的auto声明66
3.5 总结67
3.6 复习题67
3.7 编程练习68
第4章 复合类型70
4.1 数组70
4.1.1 程序说明72
4.1.2 数组的初始化规则73
4.1.3 C++11数组初始化方法73
4.2 字符串74
4.2.1 拼接字符串常量75
4.2.2 在数组中使用字符串76
4.2.3 字符串输入77
4.2.4 每次读取一行字符串输入78
4.2.5 混合输入字符串和数字81
4.3 string类简介82
4.3.1 C++11字符串初始化83
4.3.2 赋值、拼接和附加83
4.3.3 string类的其他操作84
4.3.4 string类I/O86
4.3.5 其他形式的字符串字面值87
4.4 结构简介88
4.4.1 在程序中使用结构89
4.4.2 C++11结构初始化91
4.4.3 结构可以将string类作为成员吗91
4.4.4 其他结构属性91
4.4.5 结构数组93
4.4.6 结构中的位字段94
4.5 共用体94
4.6 枚举95
4.6.1 设置枚举量的值97
4.6.2 枚举的取值范围97
4.7 指针和自由存储空间97
4.7.1 声明和初始化指针100
4.7.2 指针的危险101
4.7.3 指针和数字102
4.7.4 使用new来分配内存102
4.7.5 使用delete释放内存104
4.7.6 使用new来创建动态数组104
4.8 指针、数组和指针算术106
4.8.1 程序说明107
4.8.2 指针小结109
4.8.3 指针和字符串111
4.8.4 使用new创建动态结构114
4.8.5 自动存储、静态存储和动态存储117
4.9 类型组合118
4.10 数组的替代品120
4.10.1 模板类vector120
4.10.2 模板类array(C++11)120
4.10.3 比较数组、vector对象和array对象120
4.11 总结122
4.12 复习题123
4.13 编程练习123
第5章 循环和关系表达式125
5.1 for循环125
5.1.1 for循环的组成部分126
5.1.2 回到for循环131
5.1.3 修改步长132
5.1.4 使用for循环访问字符串133
5.1.5 递增运算符(++)和递减运算符(--)133
5.1.6 副作用和顺序点134
5.1.7 前缀格式和后缀格式135
5.1.8 递增/递减运算符和指针135
5.1.9 组合赋值运算符136
5.1.10 复合语句(语句块)136
5.1.11 其他语法技巧——逗号运算符138
5.1.12 关系表达式140
5.1.13 赋值、比较和可能犯的错误141
5.1.14 C-风格字符串的比较142
5.1.15 比较string类字符串144
5.2 while循环145
5.2.1 for与while147
5.2.2 等待一段时间:编写延时循环148
5.3 do while循环150
5.4 基于范围的for循环(C++11)152
5.5 循环和文本输入152
5.5.1 使用原始的cin进行输入152
5.5.2 使用cin.get(char)进行补救153
5.5.3 使用哪一个cin.get()154
5.5.4 文件尾条件155
5.5.5 另一个cin.get()版本157
5.6 嵌套循环和二维数组159
5.6.1 初始化二维数组160
5.6.2 使用二维数组160
5.7 总结162
5.8 复习题163
5.9 编程练习163
第6章 分支语句和逻辑运算符165
6.1 if语句165
6.1.1 ifelse语句167
6.1.2 格式化ifelse语句168
6.1.3 ifelse ifelse结构169
6.2 逻辑表达式170
6.2.1 逻辑OR运算符:‖171
6.2.2 逻辑AND运算符:&&172
6.2.3 用&&来设置取值范围174
6.2.4 逻辑NOT运算符:!175
6.2.5 逻辑运算符细节176
6.2.6 其他表示方式177
6.3 字符函数库cctype177
6.4 ?:运算符179
6.5 switch语句180
6.5.1 将枚举量用作标签183
6.5.2 switch和ifelse184
6.6 break和continue语句185
6.7 读取数字的循环187
6.8 简单文件输入/输出190
6.8.1 文本I/O和文本文件190
6.8.2 写入到文本文件中191
6.8.3 读取文本文件194
6.9 总结197
6.10 复习题198
6.11 编程练习199
第7章 函数——C++的编程模块202
7.1 复习函数的基本知识202
7.1.1 定义函数203
7.1.2 函数原型和函数调用205
7.2 函数参数和按值传递207
7.2.1 多个参数208
7.2.2 另外一个接受两个参数的函数210
7.3 函数和数组212
7.3.1 函数如何使用指针来处理数组213
7.3.2 将数组作为参数意味着什么213
7.3.3 更多数组函数示例215
7.3.4 使用数组区间的函数220
7.3.5 指针和const221
7.4 函数和二维数组224
7.5 函数和C-风格字符串225
7.5.1 将C-风格字符串作为参数的函数225
7.5.2 返回C-风格字符串的函数227
7.6 函数和结构228
7.6.1 传递和返回结构228
7.6.2 另一个处理结构的函数示例230
7.6.3 传递结构的地址234
7.7 函数和string对象235
7.8 函数与array对象236
7.9 递归238
7.9.1 包含一个递归调用的递归239
7.9.2 包含多个递归调用的递归240
7.10 函数指针241
7.10.1 函数指针的基础知识241
7.10.2 函数指针示例243
7.10.3 深入探讨函数指针244
7.10.4 使用typedef进行简化248
7.11 总结248
7.12 复习题249
7.13 编程练习250
第8章 函数探幽253
8.1 C++内联函数253
8.2 引用变量255
8.2.1 创建引用变量256
8.2.2 将引用用作函数参数258
8.2.3 引用的属性和特别之处260
8.2.4 将引用用于结构263
8.2.5 将引用用于类对象268
8.2.6 对象、继承和引用271
8.2.7 何时使用引用参数274
8.3 默认参数274
8.4 函数重载276
8.4.1 重载示例278
8.4.2 何时使用函数重载280
8.5 函数模板281
8.5.1 重载的模板283
8.5.2 模板的局限性285
8.5.3 显式具体化285
8.5.4 实例化和具体化288
8.5.5 编译器选择使用哪个函数版本289
8.5.6 模板函数的发展295
8.6 总结297
8.7 复习题297
8.8 编程练习298
第9章 内存模型和名称空间300
9.1 单独编译300
9.2 存储持续性、作用域和链接性304
9.2.1 作用域和链接305
9.2.2 自动存储持续性305
9.2.3 静态持续变量309
9.2.4 静态持续性、外部链接性310
9.2.5 静态持续性、内部链接性313
9.2.6 静态存储持续性、无链接性315
9.2.7 说明符和限定符317
9.2.8 函数和链接性318
9.2.9 语言链接性319
9.2.10 存储方案和动态分配319
9.3 名称空间324
9.3.1 传统的C++名称空间324
9.3.2 新的名称空间特性325
9.3.3 名称空间示例331
9.3.4 名称空间及其前途334
9.4 总结335
9.5 复习题335
9.6 编程练习338
第10章 对象和类340
10.1 过程性编程和面向对象编程340
10.2 抽象和类341
10.2.1 类型是什么341
10.2.2 C++中的类342
10.2.3 实现类成员函数345
10.2.4 使用类349
10.2.5 修改实现350
10.2.6 小结351
10.3 类的构造函数和析构函数352
10.3.1 声明和定义构造函数353
10.3.2 使用构造函数354
10.3.3 默认构造函数354
10.3.4 析构函数355
10.3.5 改进Stock类356
10.3.6 构造函数和析构函数小结362
10.4 this指针363
10.5 对象数组368
10.6 类作用域370
10.6.1 作用域为类的常量371
10.6.2 作用域内枚举(C++11)372
10.7 抽象数据类型373
10.8 总结376
10.9 复习题377
10.10 编程练习377
第11章 使用类380
11.1 运算符重载380
11.2 计算时间:一个运算符重载示例381
11.2.1 添加加法运算符384
11.2.2 重载限制387
11.2.3 其他重载运算符388
11.3 友元390
11.3.1 创建友元391
11.3.2 常用的友元:重载<<运算符392
11.4 重载运算符:作为成员函数还是非成员函数397
11.5 再谈重载:一个矢量类398
11.5.1 使用状态成员404
11.5.2 为Vector类重载算术运算符406
11.5.3 对实现的说明408
11.5.4 使用Vector类来模拟随机漫步408
11.6 类的自动转换和强制类型转换411
11.6.1 转换函数415
11.6.2 转换函数和友元函数419
11.7 总结421
11.8 复习题422
11.9 编程练习422
第12章 类和动态内存分配425
12.1 动态内存和类425
12.1.1 复习示例和静态类成员425
12.1.2 特殊成员函数432
12.1.3 回到Stringbad:复制构造函数的哪里出了问题434
12.1.4 Stringbad的其他问题:赋值运算符436
12.2 改进后的新String类437
12.2.1 修订后的默认构造函数438
12.2.2 比较成员函数439
12.2.3 使用中括号表示法访问字符439
12.2.4 静态类成员函数441
12.2.5 进一步重载赋值运算符441
12.3 在构造函数中使用new时应注意的事项446
12.3.1 应该和不应该447
12.3.2 包含类成员的类的逐成员复制448
12.4 有关返回对象的说明449
12.4.1 返回指向const对象的引用449
12.4.2 返回指向非const对象的引用449
12.4.3 返回对象450
12.4.4 返回const对象450
12.5 使用指向对象的指针451
12.5.1 再谈new和delete453
12.5.2 指针和对象小结454
12.5.3 再谈定位new运算符456
12.6 复习各种技术459
12.6.1 重载<<运算符459
12.6.2 转换函数460
12.6.3 其构造函数使用new的类460
12.7 队列模拟460
12.7.1 队列类461
12.7.2 Customer类468
12.7.3 ATM模拟471
12.8 总结475
12.9 复习题476
12.10 编程练习477
第13章 类继承480
13.1 一个简单的基类481
13.1.1 派生一个类482
13.1.2 构造函数:访问权限的考虑484
13.1.3 使用派生类486
13.1.4 派生类和基类之间的特殊关系488
13.2 继承:is-a关系489
13.3 多态公有继承490
13.4 静态联编和动态联编501
13.4.1 指针和引用类型的兼容性502
13.4.2 虚成员函数和动态联编503
13.4.3 有关虚函数注意事项505
13.5 访问控制:protected507
13.6 抽象基类508
13.6.1 应用ABC概念510
13.6.2 ABC理念516
13.7 继承和动态内存分配516
13.7.1 第一种情况:派生类不使用new516
13.7.2 第二种情况:派生类使用new517
13.7.3 使用动态内存分配和友元的继承示例519
13.8 类设计回顾523
13.8.1 编译器生成的成员函数523
13.8.2 其他的类方法524
13.8.3 公有继承的考虑因素527
13.8.4 类函数小结530
13.9 总结530
13.10 复习题531
13.11 编程练习531
第14章 C++中的代码重用534
14.1 包含对象成员的类534
14.1.1 valarray类简介535
14.1.2 Student类的设计535
14.1.3 Student类示例537
14.2 私有继承543
14.2.1 Student类示例(新版本)543
14.2.2 使用包含还是私有继承549
14.2.3 保护继承549
14.2.4 使用using重新定义访问权限550
14.3 多重继承551
14.3.1 有多少Worker555
14.3.2 哪个方法558
14.3.3 MI小结567
14.4 类模板567
14.4.1 定义类模板568
14.4.2 使用模板类570
14.4.3 深入探讨模板类572
14.4.4 数组模板示例和非类型参数577
14.4.5 模板多功能性578
14.4.6 模板的具体化582
14.4.7 成员模板584
14.4.8 将模板用作参数586
14.4.9 模板类和友元588
14.4.10 模板别名(C++11)593
14.5 总结594
14.6 复习题595
14.7 编程练习597
第15章 友元、异常和其他602
15.1 友元602
15.1.1 友元类602
15.1.2 友元成员函数606
15.1.3 其他友元关系609
15.1.4 共同的友元610
15.2 嵌套类611
15.2.1 嵌套类和访问权限612
15.2.2 模板中的嵌套613
15.3 异常616
15.3.1 调用abort()616
15.3.2 返回错误码617
15.3.3 异常机制619
15.3.4 将对象用作异常类型621
15.3.5 异常规范和C++11624
15.3.6 栈解退625
15.3.7 其他异常特性629
15.3.8 exception类631
15.3.9 异常、类和继承634
15.3.10 异常何时会迷失方向639
15.3.11 有关异常的注意事项641
15.4 RTTI642
15.4.1 RTTI的用途642
15.4.2 RTTI的工作原理642
15.5 类型转换运算符649
15.6 总结652
15.7 复习题653
15.8 编程练习654
第16章 string类和标准模板库655
16.1 string类655
16.1.1 构造字符串655
16.1.2 string类输入659
16.1.3 使用字符串661
16.1.4 string还提供了哪些功能665
16.1.5 字符串种类666
16.2 智能指针模板类667
16.2.1 使用智能指针668
16.2.2 有关智能指针的注意事项670
16.2.3 unique_ptr为何优于auto_ptr672
16.2.4 选择智能指针673
16.3 标准模板库674
16.3.1 模板类vector675
16.3.2 可对矢量执行的操作676
16.3.3 对矢量可执行的其他操作680
16.3.4 基于范围的for循环(C++11)684
16.4 泛型编程684
16.4.1 为何使用迭代器685
16.4.2 迭代器类型688
16.4.3 迭代器层次结构689
16.4.4 概念、改进和模型690
16.4.5 容器种类695
16.4.4 关联容器702
16.4.5 无序关联容器(C++11)707
16.5 函数对象707
16.5.1 函数符概念707
16.5.2 预定义的函数符710
16.5.3 自适应函数符和函数适配器711
16.6 算法713
16.6.1 算法组713
16.6.2 算法的通用特征714
16.6.3 STL和string类715
16.6.4 函数和容器方法716
16.6.5 使用STL717
16.7 其他库720
16.7.1 vector、valarray和array720
16.7.2 模板initializer_list(C++11)724
16.7.3 使用initializer_list725
16.8 总结727
16.9 复习题728
16.10 编程练习728
第17章 输入、输出和文件731
17.1 C++输入和输出概述731
17.1.1 流和缓冲区732
17.1.2 流、缓冲区和iostream文件733
17.1.3 重定向735
17.2 使用cout进行输出736
17.2.1 重载的<<运算符736
17.2.2 其他ostream方法738
17.2.3 刷新输出缓冲区740
17.2.4 用cout进行格式化741
17.3 使用cin进行输入753
17.3.1 cin>>如何检查输入754
17.3.2 流状态756
17.3.3 其他istream类方法759
17.3.4 其他istream方法764
17.4 文件输入和输出768
17.4.1 简单的文件I/O768
17.4.2 流状态检查和is_open()770
17.4.3 打开多个文件771
17.4.4 命令行处理技术772
17.4.5 文件模式773
17.4.6 随机存取781
17.5 内核格式化788
17.6 总结790
17.7 复习题791
17.8 编程练习792
第18章 探讨C++新标准795
18.1 复习前面介绍过的C++11功能795
18.1.1 新类型795
18.8.2 统一的初始化795
18.1.3 声明796
18.1.4 智能指针798
18.1.5 异常规范方面的修改798
18.1.6 作用域内枚举799
18.1.7 对类的修改799
18.1.8 模板和STL方面的修改800
18.1.9 右值引用801
18.2 移动语义和右值引用802
18.2.1 为何需要移动语义802
18.2.2 一个移动示例803
18.2.3 移动构造函数解析808
18.2.4 赋值809
18.2.5 强制移动809
18.3 新的类功能813
18.3.1 特殊的成员函数813
18.3.2 默认的方法和禁用的方法814
18.3.3 委托构造函数815
18.3.4 继承构造函数815
18.3.5 管理虚方法:override和final817
18.4 Lambda函数817
18.4.1 比较函数指针、函数符和Lambda函数818
18.4.2 为何使用lambda820
18.5 包装器822
18.5.1 包装器function及模板的低效性823
18.5.2 修复问题825
18.5.3 其他方式826
18.6 可变参数模板827
18.6.1 模板和函数参数包827
18.6.2 展开参数包828
18.6.3 在可变参数模板函数中使用递归828
18.7 C++11新增的其他功能831
18.7.1 并行编程831
18.7.2 新增的库831
18.7.3 低级编程832
18.7.4 杂项832
18.8 语言变化832
18.8.1 Boost项目833
18.8.2 TR1833
18.8.3 使用Boost833
18.9 接下来的任务834
18.10 总结834
18.11 复习题835
18.12 编程练习838
附录A 计数系统839
A.1 十进制数839
A.2 八进制整数839
A.3 十六进制数839
A.4 二进制数840
A.5 二进制和十六进制841
附录B C++保留字842
B.1 C++关键字842
B.2 替代标记842
B.3 C++库保留名称843
B.4 有特殊含义的标识符843
附录C ASCII字符集845
附录D 运算符优先级849
附录E 其他运算符852
E.1 按位运算符852
E.1.1 移位运算符852
E.1.2 逻辑按位运算符853
E.1.3 按位运算符的替代表示855
E.1.4 几种常用的按位运算符技术856
E.2 成员解除引用运算符857
E.3 alignof(C++11)860
E.4 noexcept(C++11)861
附录F 模板类string862
F.1 13种类型和一个常量862
F.2 数据信息、构造函数及其他863
F.2.1 默认构造函数865
F.2.2 使用C-风格字符串的构造函数865
F.2.3 使用部分C-风格字符串的构造函数865
F.2.4 使用左值引用的构造函数866
F.2.5 使用右值引用的构造函数(C++11)866
F.2.6 使用一个字符的n个副本的构造函数867
F.2.7 使用区间的构造函数867
F.2.8 使用初始化列表的构造函数(C++11)868
F.2.9 内存杂记868
F.3 字符串存取868
F.4 基本赋值869
F.5 字符串搜索869
F.5.1 find()系列870
F.5.2 rfind()系列870
F.5.3 find_first_of()系列870
F.5.4 find_last_of()系列871
F.5.5 find_first_not_of()系列871
F.5.6 find_last_not_of()系列871
F.6 比较方法和函数872
F.7 字符串修改方法873
F.7.1 用于追加和相加的方法873
F.7.2 其他赋值方法874
F.7.3 插入方法874
F.7.4 清除方法875
F.7.5 替换方法875
F.7.6 其他修改方法:copy()和swap()876
F.8 输出和输入876
附录G 标准模板库方法和函数877
G.1 STL和C++11877
G.1.1 新增的容器877
G.1.2 对C++98容器所做的修改877
G.2 大部分容器都有的成员878
G.3 序列容器的其他成员881
G.4 set和map的其他操作883
G.4 无序关联容器(C++11)884
G.5 STL函数886
G.5.1 非修改式序列操作886
G.5.2 修改式序列操作890
G.5.3 排序和相关操作897
G.5.4 数值运算907
附录H 精选读物和网上资源909
H.1 精选读物909
H.2 网上资源910
附录I 转换为ISO标准C++911
I.1 使用一些预处理器编译指令的替代品911
I.1.1 使用const而不是#define来定义常量911
I.1.2 使用inline而不是#define来定义小型函数912
I.2 使用函数原型913
I.3 使用类型转换913
I.4 熟悉C++特性913
I.5 使用新的头文件914
I.6 使用名称空间914
I.7 使用智能指针915
I.8 使用string类915
I.9 使用STL915
附录J 复习题答案916
第2章复习题答案916
第3章复习题答案916
第4章复习题答案917
第5章复习题答案919
第6章复习题答案919
第7章复习题答案920
第8章复习题答案922
第9章复习题答案924
第10章复习题答案925
第11章复习题答案927
第12章复习题答案927
第13章复习题答案929
第14章复习题答案930
第15章复习题答案931
第16章复习题答案932
第17章复习题答案933
第18章复习题答案935
热门推荐
- 1646334.html
- 750957.html
- 1174755.html
- 1576367.html
- 788258.html
- 2466072.html
- 2890207.html
- 1592181.html
- 3707172.html
- 1300394.html
- http://www.ickdjs.cc/book_154659.html
- http://www.ickdjs.cc/book_2774470.html
- http://www.ickdjs.cc/book_1860821.html
- http://www.ickdjs.cc/book_2552143.html
- http://www.ickdjs.cc/book_3797629.html
- http://www.ickdjs.cc/book_3378883.html
- http://www.ickdjs.cc/book_2789593.html
- http://www.ickdjs.cc/book_3796358.html
- http://www.ickdjs.cc/book_213902.html
- http://www.ickdjs.cc/book_2027130.html