图书介绍
C++程序设计语言 特别版PDF|Epub|txt|kindle电子书版本下载
![C++程序设计语言 特别版](https://www.shukui.net/cover/59/33236812.jpg)
- (美)BJARNESTROUSTRUP著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111298854
- 出版时间:2010
- 标注页数:906页
- 文件大小:58MB
- 文件页数:931页
- 主题词:C语言-程序设计
PDF下载
下载说明
C++程序设计语言 特别版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
导论3
第1章 致读者3
1.1本书的结构3
1.1.1例子和参考4
1.1.2练习5
1.1.3有关实现的注记5
1.2学习C++6
1.3 C++的设计7
1.3.1效率和结构8
1.3.2哲学注记9
1.4历史注记9
1.5 C++的使用11
1.6 C和C++12
1.6.1给C程序员的建议13
1.6.2给C++程序员的建议13
1.7有关在C++里编程的思考14
1.8忠告15
1.9参考文献16
第2章 C++概览19
2.1为什么是C++19
2.2程序设计范型19
2.3过程式程序设计20
2.3.1变量和算术21
2.3.2检测和循环22
2.3.3指针和数组23
2.4模块程序设计23
2.4.1分别编译24
2.4.2异常处理25
2.5数据抽象26
2.5.1定义类型的模块27
2.5.2用户定义类型28
2.5.3具体类型29
2.5.4抽象类型31
2.5.5虚函数33
2.6面向对象的程序设计33
2.6.1具体类型的问题33
2.6.2类层次结构34
2.7通用型程序设计36
2.7.1容器36
2.7.2通用型算法37
2.8附言38
2.9忠告39
第3章 标准库概览40
3.1引言40
3.2 Hello, world!40
3.3标准库名字空间41
3.4输出41
3.5字符串42
3.5.1 C风格的字符串44
3.6输入44
3.7容器46
3.7.1向量——vector46
3.7.2范围检查47
3.7.3表——list48
3.7.4映射——map49
3.7.5标准容器49
3.8算法50
3.8.1迭代器的使用51
3.8.2迭代器类型52
3.8.3迭代器和I/O53
3.8.4遍历和谓词54
3.8.5使用成员函数的算法56
3.8.6标准库算法56
3.9数学57
3.9.1复数57
3.9.2向量算术57
3.9.3基本数值支持58
3.10标准库功能58
3.11忠告58
第一部分 基本功能63
第4章 类型和声明63
4.1类型63
4.1.1基本类型64
4.2布尔量64
4.3字符类型65
4.3.1字符文字量66
4.4整数类型66
4.4.1整数文字量66
4.5浮点类型67
4.5.1浮点文字量67
4.6大小68
4.7void69
4.8枚举69
4.9声明71
4.9.1声明的结构72
4.9.2声明多个名字73
4.9.3名字73
4.9.4作用域74
4.9.5初始化75
4.9.6对象和左值76
4.9.7 typedef76
4.10忠告77
4.11练习77
第5章 指针、数组和结构79
5.1指针79
5.1.1零80
5.2数组80
5.2.1数组初始化80
5.2.2字符串文字量81
5.3到数组的指针83
5.3.1在数组里漫游83
5.4常量85
5.4.1指针和常量87
5.5引用88
5.6指向void的指针90
5.7结构91
5.7.1类型等价94
5.8忠告94
5.9练习94
第6章 表达式和语句96
6.1一个桌面计算器96
6.1.1分析器96
6.1.2输入函数100
6.1.3低级输入102
6.1.4错误处理103
6.1.5驱动程序104
6.1.6头文件104
6.1.7命令行参数105
6.1.8有关风格的注记106
6.2运算符概览107
6.2.1结果109
6.2.2求值顺序110
6.2.3运算符优先级110
6.2.4按位逻辑运算符111
6.2.5增量和减量112
6.2.6自由存储113
6.2.7显式类型转换116
6.2.8构造函数117
6.3语句概览118
6.3.1声明作为语句119
6.3.2选择语句119
6.3.3迭代语句122
6.3.4 goto123
6.4注释和缩进编排123
6.5忠告125
6.6练习125
第7章 函数128
7.1函数声明128
7.1.1函数定义128
7.1.2静态变量129
7.2参数传递130
7.2.1数组参数131
7.3返回值132
7.4重载函数名133
7.4.1重载和返回类型135
7.4.2重载与作用域135
7.4.3手工的歧义性解析135
7.4.4多参数的解析136
7.5默认参数137
7.6未确定数目的参数138
7.7指向函数的指针139
7.8宏143
7.8.1条件编译145
7.9忠告145
7.10练习146
第8章 名字空间和异常148
8.1模块化和界面148
8.2名字空间150
8.2.1带限定词的名字151
8.2.2使用声明152
8.2.3使用指令153
8.2.4多重界面154
8.2.5避免名字冲突157
8.2.6名字查找159
8.2.7名字空间别名159
8.2.8名字空间组合160
8.2.9名字空问和老代码163
8.3异常166
8.3.1抛出和捕捉167
8.3.2异常的辨识168
8.3.3在计算器中的异常169
8.4忠告173
8.5练习173
第9章 源文件和程序175
9.1分别编译175
9.2连接176
9.2.1头文件178
9.2.2标准库头文件179
9.2.3单一定义规则180
9.2.4与非C++代码的连接182
9.2.5连接与指向函数的指针184
9.3使用头文件184
9.3.1单一头文件184
9.3.2多个头文件187
9.3.3包含保护符191
9.4程序192
9.4.1非局部变量的初始化192
9.5忠告194
9.6练习194
第二部分 抽象机制199
第10章 类199
10.1引言199
10.2类199
10.2.1成员函数200
10.2.2访问控制201
10.2.3构造函数202
10.2.4静态成员203
10.2.5类对象的复制204
10.2.6常量成员函数205
10.2.7自引用205
10.2.8结构和类208
10.2.9在类内部的函数定义210
10.3高效的用户定义类型210
10.3.1成员函数212
10.3.2协助函数214
10.3.3重载的运算符215
10.3.4具体类型的意义215
10.4对象216
10.4.1析构函数216
10.4.2默认构造函数217
10.4.3构造和析构218
10.4.4局部变量218
10.4.5自由存储220
10.4.6类对象作为成员221
10.4.7数组223
10.4.8局部静态存储224
10.4.9非局部存储225
10.4.10临时对象226
10.4.11对象的放置228
10.4.12联合229
10.5忠告230
10.6练习230
第11章 运算符重载233
11.1引言233
11.2运算符函数234
11.2.1二元和一元运算符235
11.2.2运算符的预定义意义236
11.2.3运算符和用户定义类型236
11.2.4名字空问里的运算符237
11.3一个复数类型238
11.3.1成员运算符和非成员运算符238
11.3.2混合模式算术239
11.3.3初始化240
11.3.4复制241
11.3.5构造函数和转换242
11.3.6文字量243
11.3.7另一些成员函数243
11.3.8协助函数244
11.4转换运算符245
11.4.1歧义性246
11.5友元248
11.5.1友元的寻找249
11.5.2友元和成员250
11.6大型对象251
11.7基本运算符253
11.7.1显式构造函数253
11.8下标255
11.9函数调用256
11.10间接257
11.11增量和减量259
11.12一个字符串类260
11.13忠告265
11.14练习265
第12章 派生类268
12.1引言268
12.2派生类269
12.2.1成员函数271
12.2.2构造函数和析构函数272
12.2.3复制273
12.2.4类层次结构273
12.2.5类型域274
12.2.6虚函数276
12.3抽象类278
12.4类层次结构的设计280
12.4.1一个传统的层次结构280
12.4.2抽象类283
12.4.3其他实现方式285
12.4.4对象创建的局部化287
12.5类层次结构和抽象类289
12.6忠告289
12.7练习289
第13章 模板292
13.1引言292
13.2一个简单的String模板293
13.2.1定义一个模板294
13.2.2模板实例化295
13.2.3模板参数296
13.2.4类型等价296
13.2.5类型检查297
13.3函数模板298
13.3.1函数模板的参数299
13.3.2函数模板的重载300
13.4用模板参数描述策略302
13.4.1默认模板参数303
13.5专门化304
13.5.1专门化的顺序306
13.5.2模板函数的专门化307
13.6派生和模板308
13.6.1参数化和继承309
13.6.2成员模板310
13.6.3继承关系311
13.7源代码组织312
13.8忠告314
13.9练习314
第14章 异常处理316
14.1错误处理316
14.1.1关于异常的其他观点318
14.2异常的结组318
14.2.1派生的异常319
14.2.2多个异常的组合321
14.3捕捉异常321
14.3.1重新抛出322
14.3.2捕捉所有异常322
14.4资源管理324
14.4.1构造函数和析构函数的使用325
14.4.2 auto_ptr326
14.4.3告诫328
14.4.4异常和new328
14.4.5资源耗尽329
14.4.6构造函数里的异常331
14.4.7析构函数里的异常332
14.5不是错误的异常333
14.6异常的描述334
14.6.1对异常描述的检查335
14.6.2未预期的异常336
14.6.3异常的映射336
14.7未捕捉的异常338
14.8异常和效率339
14.9处理错误的其他方式340
14.10标准异常342
14.11忠告344
14.12练习344
第15章 类层次结构346
15.1引言和概述346
15.2多重继承346
15.2.1歧义性解析348
15.2.2继承和使用声明349
15.2.3重复的基类350
15.2.4虚基类352
15.2.5使用多重继承354
15.3访问控制357
15.3.1保护成员359
15.3.2对基类的访问360
15.4运行时类型信息361
15.4.1 dynamic_cast363
15.4.2在类层次结构中漫游365
15.4.3类对象的构造与析构367
15.4.4 typeid和扩展的类型信息368
15.4.5 RTTI的使用和误用370
15.5指向成员的指针371
15.5.1基类和派生类373
15.6自由存储374
15.6.1数组分配375
15.6.2虚构造函数376
15.7忠告377
15.8练习377
第三部分 标准库381
第16章 库组织和容器381
16.1标准库的设计381
16.1.1设计约束382
16.1.2标准库组织383
16.1.3语言支持385
16.2容器设计386
16.2.1专门化的容器和迭代器386
16.2.2有基类的容器388
16.2.3 STL容器391
16.3向量392
16.3.1类型393
16.3.2迭代器394
16.3.3元素访问395
16.3.4构造函数396
16.3.5堆栈操作399
16.3.6表操作401
16.3.7元素定位403
16.3.8大小和容量404
16.3.9其他成员函数406
16.3.10协助函数406
16.3.11 vector<bool>407
16.4忠告407
16.5练习408
第17章 标准容器409
17.1标准容器409
17.1.1操作综述409
17.1.2容器综述412
17.1.3表示413
17.1.4对元素的要求413
17.2序列416
17.2.1向量——vector416
17.2.2表——list416
17.2.3双端队列——deque420
17.3序列适配器421
17.3.1堆栈——stack421
17.3.2队列——queue422
17.3.3优先队列——priority_queue423
17.4关联容器425
17.4.1映射——map425
17.4.2多重映射——multimap433
17.4.3集合——set434
17.4.4多重集合——multiset435
17.5拟容器435
17.5.1串——string435
17.5.2值向量——valarray435
17.5.3位集合——bitset435
17.5.4内部数组439
17.6定义新容器439
17.6.1散列映射——hash_map440
17.6.2表示和构造441
17.6.3其他散列关联容器446
17.7忠告446
17.8练习446
第18章 算法和函数对象449
18.1引言449
18.2标准库算法综述449
18.3序列和容器453
18.3.1输入序列453
18.4函数对象454
18.4.1函数对象的基类456
18.4.2谓词456
18.4.3算术函数对象458
18.4.4约束器、适配器和否定器458
18.5非修改性序列算法463
18.5.1对每个做——for_each463
18.5.2查找族函数464
18.5.3计数465
18.5.4相等和不匹配466
18.5.5搜索467
18.6修改性序列算法467
18.6.1复制468
18.6.2变换469
18.6.3惟一化471
18.6.4取代473
18.6.5删除474
18.6.6填充和生成474
18.6.7反转和旋转475
18.6.8交换476
18.7排序的序列476
18.7.1排序476
18.7.2二分检索477
18.7.3归并478
18.7.4划分479
18.7.5序列上的集合运算479
18.8堆480
18.9最小和最大481
18.10排列482
18.11 C风格算法482
18.12忠告483
18.13练习483
第19章 迭代器和分配器485
19.1引言485
19.2迭代器和序列485
19.2.1迭代器的操作486
19.2.2迭代器特征类——iterator_lraits487
19.2.3迭代器类别488
19.2.4插入器490
19.2.5反向迭代器491
19.2.6流迭代器492
19.3带检查迭代器495
19.3.1异常、容器和算法499
19.4分配器500
19.4.1标准分配器500
19.4.2一个用户定义分配器503
19.4.3广义的分配器505
19.4.4未初始化的存储506
19.4.5动态存储508
19.4.6 C风格的分配509
19.5忠告510
19.6练习510
第20章 串511
20.1引言511
20.2字符511
20.2.1字符特征类——char _traits512
20.3基础串类——basic string513
20.3.1类型514
20.3.2迭代器515
20.3.3元素访问516
20.3.4构造函数516
20.3.5错误517
20.3.6赋值518
20.3.7到C风格字符串的转换519
20.3.8比较521
20.3.9插入522
20.3.10拼接523
20.3.11查找524
20.3.12替换525
20.3.13子串526
20.3.14大小和容量527
20.3.15 I/O操作527
20.3.16交换528
20.4 C标准库528
20.4.1 C风格字符串528
20.4.2字符分类530
20.5忠告530
20.6练习531
第21章 流533
21.1引言533
21.2输出534
21.2.1输出流535
21.2.2内部类型的输出536
21.2.3用户定义类型的输出538
21.3输入540
21.3.1输入流540
21.3.2内部类型的输入540
21.3.3流状态542
21.3.4字符的输入544
21.3.5用户定义类型的输入546
21.3.6异常547
21.3.7流的联结548
21.3.8哨位549
21.4格式化550
21.4.1格式状态550
21.4.2整数输出552
21.4.3浮点数输出552
21.4.4输出域553
21.4.5域的调整555
21.4.6操控符555
21.5文件流与字符串流560
21.5.1文件流561
21.5.2流的关闭562
21.5.3字符串流563
21.6缓冲564
21.6.1输出流和缓冲区565
21.6.2输入流和缓冲区566
21.6.3流和缓冲区567
21.6.4流缓冲区567
21.7现场571
21.7.1流回调572
21.8 C输入/输出573
21.9忠告575
21.10练习576
第22章 数值578
22.1引言578
22.2数值的限制578
22.2.1表示限制的宏580
22.3标准数学函数580
22.4向量算术582
22.4.1 valarray的构造582
22.4.2 valarray的下标和赋值583
22.4.3成员操作584
22.4.4非成员函数586
22.4.5切割587
22.4.6切割数组——slice_ array589
22.4.7临时量、复制和循环593
22.4.8广义切割595
22.4.9屏蔽596
22.4.10间接数组——indirect array596
22.5复数算术597
22.6通用数值算法599
22.6.1累积——accumulate599
22.6.2内积——inner_product600
22.6.3增量变化600
22.7随机数602
22.8忠告603
22.9练习603
第四部分 用C+做设计607
第23章 开发和设计607
23.1概述607
23.2引言607
23.3目的与手段609
23.4开发过程611
23.4.1开发循环613
23.4.2设计目标615
23.4.3设计步骤616
23.4.4试验和分析623
23.4.5测试625
23.4.6软件维护625
23.4.7效率626
23.5管理626
23.5.1重用627
23.5.2规模628
23.5.3个人629
23.5.4混成设计630
23.6带标注的参考文献631
23.7忠告633
第24章 设计和编程635
24.1概述635
24.2设计和程序设计语言635
24.2.1忽视类637
24.2.2忽视继承638
24.2.3忽视静态类型检查638
24.2.4忽视程序设计641
24.2.5排他性地使用类层次结构642
24.3类643
24.3.1类表示什么643
24.3.2类层次结构644
24.3.3包容关系648
24.3.4包容和继承649
24.3.5使用关系653
24.3.6编入程序里的关系654
24.3.7类内的关系656
24.4组件661
24.4.1模板663
24.4.2界面和实现665
24.4.3肥大的界面667
24.5忠告668
第25章 类的作用670
25.1类的种类670
25.2具体类型672
25.2.1具体类型的重用672
25.3抽象类型674
25.4结点676
25.4.1修改界面677
25.5动作680
25.6界面类681
25.6.1调整界面683
25.7句柄类684
25.7.1句柄上的操作687
25.8应用框架688
25.9忠告689
25.10练习690
附录和索引695
附录A语法695
附录B兼容性713
附录C技术细节724
附录D现场759
附录E标准库的异常时安全性815
索引845