写给大忙人看的C++PDF电子书下载
- 电子书积分:17 积分如何计算积分?
- 作 者:(美)奥弗兰德著
- 出 版 社:北京:电子工业出版社
- 出版年份:2015
- ISBN:9787121268618
- 页数:578 页
第1章 C++基础 1
1.1 组成C++程序的元素 1
1.1.1 #include指令 2
1.1.2 using语句 2
1.1.3 main函数 3
1.2 处理“闪烁的控制台一闪而过” 4
1.3 使用Microsoft Visual Studio 4
1.4 使用C++执行更多的操作 5
1.5 添加简单的变量声明 7
1.6 介绍C++控制结构 9
1.6.1 使用“if”,做判断 9
1.6.2 使用“while”,循环 11
1.7 C++程序的一般结构 12
1.8 关于命名空间的更多内容 13
1.9 关于注释的一些解释 15
1.9.1 C++注释(行注释) 15
1.9.2 C语言风格的注释 15
1.10 示例应用程序:加法机 16
练习 17
1.11 示例应用程序:计算phi 18
练习 20
第2章 数据 21
2.1 声明简单变量 22
2.2 基本数据类型 23
2.2.1 整数类型:准则 24
2.2.2 浮点类型:准则 25
2.3 符号名(符号) 25
2.4 字面量 26
2.5 混合数值类型 29
2.5.1 整数与浮点数 29
2.5.2 布尔型与整型 30
2.5.3 有符号整数与无符号整数 30
2.6 字符串和字符字面量 33
2.6.1 单引号字符 33
2.6.2 双引号字符串 34
2.6.3 特殊字符(转义序列) 36
2.6.4 宽字符串 39
2.6.5 原始字符串字面量(C++11) 40
2.7 数据声明:完整的语法 40
2.8 枚举类型 43
2.9 特殊声明(typedef、 auto、 decltype) 45
2.9.1 typedef关键字 45
2.9.2 auto和decltype关键字(C++11) 46
2.10 示例应用程序:类型提升 47
练习 48
第3章 运算符 49
3.1 优先级、结合性及左值 49
3.1.1 优先级 49
3.1.2 结合性 50
3.1.3 左值 50
3.2 运算符的简明概述 51
3.3 运算符的详细信息 53
3.3.1 范围运算符 53
3.3.2 数据访问及其他高优先级的运算符 54
3.3.3 前缀运算符 55
3.3.4 指向成员的指针运算符 58
3.3.5 乘法和除法 59
3.3.6 加法和减法 60
3.3.7 移位运算符 60
3.3.8 小于和大于 61
3.3.9 测试相等 62
3.3.10 位运算和逻辑连词 63
3.3.11 条件运算符 64
3.3.12 赋值运算符 64
3.3.13 throw运算符 67
3.3.14 连接运算符 67
3.4 善恶之争:后缀或前缀 67
3.5 位运算符的详细信息 68
3.5.1 按位与、或、异或 68
3.5.2 对有符号数和无符号数的操作 69
3.5.3 按位移位 71
3.6 类型转换运算符 71
3.6.1 static cast运算符 72
3.6.2 reinterpret cast运算符 73
3.6.3 const cast运算符 74
3.6.4 dynamic_ cast运算符 75
3.6.5 C语言的类型转换 76
3.7 示例应用程序:打印输出二进制基数 76
练习 78
第4章 控制结构 80
4.1 C++语句的简明概述 80
4.2 空语句和表达式语句 82
4.3 复合语句 83
4.4 if和if-else语句 84
4.5 while和do-while语句 86
4.6 for语句 87
4.7 基于范围的for语句(C++11) 89
4.8 switch语句 90
4.9 跳转语句(break、 continue、 goto) 92
4.10 异常处理(try、catch) 94
4.10.1 什么是异常 94
4.10.2 try-catch代码块:常规语法 95
4.10.3 catch块和异常对象 96
4.10.4 抛出一个异常 97
4.11 示例应用程序:猜数字游戏 98
练习 99
4.12 示例应用程序:计算机猜数字 100
练习 102
第5章 函数 103
5.1 传统的(命名)函数概述 103
5.1.1 函数原型与定义 104
5.1.2 原型化一个函数(简化的语法) 105
5.1.3 定义函数 105
5.1.4 调用函数 107
5.2 局部和全局变量 107
5.3 完整的函数声明语法 109
5.4 函数重载 111
5.5 带有默认值的参数 112
5.6 可变长度参数列表 113
5.7 lambda函数或匿名函数(C++11) 115
5.7.1 lambda函数的基本语法 116
5.7.2 lambda函数的闭包语法 117
5.7.3 mutable关键字 120
5.7.4 将lambda表达式与 STL连用 120
5.7.5 存储和返回lambda函数 122
5.8 constexpr函数(C++11) 124
5.9 示例应用程序:骰子的概率 125
练习 127
第6章 指针、数组和引用 129
6.1 引用 129
6.1.1 引用参数 129
6.1.2 从函数中返回一个引用 132
6.1.3 用“const”修饰的引用 132
6.2 数组 133
6.2.1 简单的(一维)数组 134
6.2.2 数组处理与循环 135
6.2.3 向函数传递数组 136
6.2.4 多维数组 137
6.3 指针 139
6.3.1 指针的概念 139
6.3.2 将指针作为参数 141
6.3.3 用于访问数组的指针 142
6.3.4 指针运算 145
6.3.5 指针与数组参数 145
6.3.6 指针和内存分配 146
6.3.7 指向const类型的指针 148
6.3.8 对指针本身应用const 150
6.3.9 void指针(void) 151
6.4 涉及指针的复合声明 152
6.5 传递和返回函数指针 155
6.6 智能指针(C++11) 156
6.6.1 shared_ptr模板 157
6.6.2 unique_ptr模板 160
6.7 示例应用程序:埃拉托色尼筛 162
练习 163
第7章 类与对象 165
7.1 概述:结构、联合和类 165
7.2 基本的类声明语法 166
7.2.1 声明和使用一个类 167
7.2.2 数据成员访问(公有、私有、保护) 168
7.2.3 定义成员函数 170
7.2.4 调用成员函数 173
7.2.5 私有成员函数 175
7.2.6 包含类的类 175
7.2.7 静态成员 177
7.3 构造函数 179
7.3.1 默认构造函数 180
7.3.2 重载的构造函数和转换函数 182
7.3.3 复制构造函数 183
7.3.4 构造函数初始化列表 184
7.3.5 委托构造函数(C++11) 187
7.3.6 默认成员初始化(C++11) 188
7.4 析构函数 188
7.5 隐藏的this指针 189
7.6 运算符函数(运算符重载) 190
7.6.1 将运算符函数作为成员 191
7.6.2 作为友元的运算符函数 192
7.6.3 赋值运算符 194
7.6.4 函数调用运算符 195
7.6.5 下标运算符 196
7.6.6 递增运算符和递减运算符 197
7.6.7 传入和传出转换函数 198
7.7 派生类(子类化) 199
7.7.1 子类语法 200
7.7.2 基类访问说明 201
7.7.3 继承的构造函数(C++11) 202
7.7.4 向上强制类型转换:子对象和基类指针 203
7.7.5 虚函数和重载 205
7.7.6 纯虚函数 207
7.7.7 override关键字(C++11) 207
7.7.8 解决层次结构中的名字冲突 208
7.8 位字段 209
7.9 联合 211
7.9.1 命名联合 211
7.9.2 匿名联合 213
7.10 示例应用程序:打包的布尔 213
演习 216
第8章 预处理器指令 217
8.1 预处理器指令的常规语法 217
8.2 预处理器指令小结 218
8.3 使用指令来解决具体问题 221
8.3.1 用#define创建有意义的符号 221
8.3.2 用#define创建宏 223
8.3.3 条件编译(#if、#endif等) 224
8.4 预处理器运算符 226
8.5 预定义宏 227
8.6 创建项目头文件 229
第9章 创建和使用模板 231
9.1 模板:语法和概述 231
9.2 函数模板 233
9.2.1 单参数的函数模板 233
9.2.2 处理类型歧义 235
9.2.3 有两个参数的函数模板 235
9.3 类模板 237
9.3.1 简单的类模板 238
9.3.2 实例化类模板 239
9.4 类模板与成员函数 240
9.4.1 类模板与内联成员函数 240
9.4.2 具有独立函数定义的类模板 241
9.5 使用整型模板参数 242
9.6 模板专门化 243
9.7 可变参数模板(C++11) 245
9.7.1 更复杂的可变模板 247
9.7.2 可变参数模板规则概述 248
9.7.3 元组 249
9.8 示例应用程序:类型提升 250
练习 251
第10章 C-字符串库函数 252
10.1 C-字符串格式概述 252
10.2 使用C-字符串输入和输出 254
10.3 C-字符串函数 255
10.4 用strtok对字符串标记化 260
10.5 单字符函数 261
10.6 内存块函数(memcpy等) 264
10.7 宽字符函数(wstrcpy等) 266
第11章 C I/O库函数 268
11.1 C I/O库概述 268
11.2 控制台I/O函数 269
11.3 打印/扫描格式 272
11.3.1 printf格式说明符(%) 272
11.3.2 高级printf格式的语法 274
11.3.3 将格式说明符与scanf函数配合使用 276
11.4 输入和输出字符串 278
11.5 文件I/O 279
11.5.1 打开文件 280
11.5.2 关闭文件 282
11.5.3 读取和写入文本文件 282
11.5.4 读写二进制文件 284
11.5.5 随机访问函数 286
11.5.6 其他文件管理函数 287
第12章 数学、时间和其他库函数 289
12.1 三角函数 290
12.2 其他数学函数 292
12.3 C语言的日期和时间库 294
12.3.1 日期和时间函数 295
12.3.2 TM (“Time”)数据结构 298
12.3.3 日期/时间格式说明符(strftime) 299
12.4 从字符串到数字的转换 302
12.5 内存分配函数 304
12.6 标准C随机函数 305
12.7 查找和排序函数 306
12.7.1 bsearch函数(二分查找) 307
12.7.2 qsort函数(快速排序) 308
12.7.3 使用C字符串的比较函数 310
12.8 其他标准C库函数 310
12.9 示例应用程序:智障学者 312
练习 314
第13章 C++的I/O流类 315
13.1 C++的I/O流的基础知识 315
13.1.1 用“<<”写入输出 316
13.1.2 用“>>”读取输入 316
13.2 利用getline读取输入行 318
13.3 C++流类的层次结构 319
13.4 流对象:控制符及标志 321
13.4.1 流控制符 322
13.4.2 流格式标志 329
13.5 流成员函数(通用) 331
13.5.1 输入流函数 331
13.5.2 输出流函数 333
13.5.3 标记设置流函数 334
13.6 文件流操作 337
13.6.1 概述:文本与二进制文件I/O 337
13.6.2 创建一个文件对象 338
13.6.3 文件的特定成员函数 341
13.6.4 读写二进制模式 342
13.6.5 随机存取操作 343
13.7 读取和写入字符串流 345
13.8 为你的类重载移位运算符 348
13.9 示例应用程序:文本文件阅读器 350
练习 351
第14章 C++ STL string类 352
14.1 string类概述 352
14.2 string类的构造函数 353
14.3 字符串类运算符 355
14.3.1 字符串赋值 355
14.3.2 字符串连接 355
14.3.3 字符串比较 356
14.3.4 字符串索引 357
14.4 成员函数概述 358
14.5 成员函数详解 359
14.6 string类的迭代器 372
14.6.1 标准(正向)迭代器 372
14.6.2 反向迭代器 374
14.6.3 迭代算法 375
14.6.4 使用迭代器的成员函数 375
14.7 宽字符串类(basic_string) 377
第15章 STL(向量,双端队列)简介 378
15.1 容器模板简介 378
15.2 介绍迭代器 380
15.3 向量模板 381
15.3.1 向量迭代器 382
15.3.2 向量构造函数 384
15.3.3 列表初始化(C++11) 385
15.3.4 向量函数简明摘要 385
15.3.5 向量成员函数详解 385
15.4 双端队列模板 392
15.4.1 双端队列迭代器 394
15.4.2 双端队列构造函数 394
15.4.3 双端队列函数简介 395
15.4.4 双端队列函数详解 396
15.5 位集合模板 402
15.5.1 位集合构造函数 403
15.5.2 位集合成员函数 403
15.6 示例应用程序:字母文本文件管理 405
练习 407
第16章 STL序列容器(List) 408
16.1 排序元素(严格弱序) 408
16.2 列表模板 409
16.2.1 列表迭代器 410
16.2.2 列表构造函数 412
16.2.3 列表函数简明摘要 413
16.2.4 列表成员函数详解 414
16.3 栈模板 423
16.4 队列模板 426
16.5 优先队列模板 428
16.5.1 优先队列构造函数 430
16.5.2 优先队列成员函数 431
16.6 示例应用程序:找出中位数 432
演习 433
第17章 STL关联容器(map、set) 435
17.1 pair模板 435
17.2 映射模板 437
17.2.1 填充映射 438
17.2.2 查找现有映射的元素 440
17.2.3 一个更复杂的记录类型 441
17.2.4 遍历映射 445
17.2.5 映射实现:二叉树 445
17.2.6 映射构造函数 447
17.2.7 映射函数简明摘要 448
17.2.8 映射成员函数详解 449
17.3 集合模板 455
17.3.1 填充集合 456
17.3.2 查找集合中的一个元素 457
17.3.3 集合构造函数 457
17.3.4 集合函数简明摘要 459
17.3.5 集合成员函数详解 460
17.4 多重映射模板 465
17.5 多重集合模板 467
17.6 无序容器(C++11) 469
17.6.1 无序容器:基本概念 469
17.6.2 调优散列表的性能 473
17.6.3 编写你自己的散列和相等函数 475
17.7 示例应用程序:猜单词游戏 477
练习 479
第18章 STL算法 480
18.1 STL算法:基本概念 480
18.2 使用lambda函数(C++11) 482
18.3 算法和迭代器 484
18.4 插入迭代器 485
18.5 示例应用程序:寻找中位数 486
18.6 算法简明摘要 487
18.6.1 只读算法 488
18.6.2 修改算法 489
18.6.3 排序和重新排序算法 489
18.6.4 堆算法 490
18.6.5 数值算法 492
18.6.6 预定义的函数对象 492
18.7 算法详解 494
第19章 C++11的随机化库 527
19.1 随机化中的问题 527
19.1.1 有偏差的分布问题 527
19.1.2 伪随机序列的问题 528
19.1.3 获取种子的问题 528
19.2 一个更好的随机化方案 529
19.3 常见的引擎 531
19.4 常用的分布 532
19.5 对引擎的操作 535
19.6 对分布的操作 536
19.7 示例应用程序:骰子游戏 537
练习 539
第20章 C++11的正则表达式库 540
20.1 C++11的正则表达式概述 540
20.2 处理转义序列() 543
20.3 构造一个正则表达式字符串 544
20.3.1 匹配字符 544
20.3.2 模式修饰符 547
20.3.3 重复组 548
20.3.4 字符类 549
20.4 匹配和查找函数 550
20.5 “查找全部”或迭代查找 552
20.6 替换文本 553
20.7 字符串标记化 555
20.8 捕获正则表达式异常 556
20.9 示例应用程序:RPN计算器 557
练习 559
附录A对右值引用(C++11)的轻松介绍 561
A.1复制的麻烦 561
A.2移动语义:C++11来救援 564
A.3在用户的String类中的右值引用 566
A.4验证运行时性能的提高 568
A.5右值和包含的对象 569
A.6引用:右值和左值再思考 570
附录B C++11新功能概述 572
B.1对象结构改进 572
B.2其他核心语言增强功能 573
B.3其他新关键字 574
B.4标准库的扩展 574
附录C ASCII码 576
- 《写给孩子的中国古代音乐故事》张敢主编 2017
- 《昆虫王国 写给孩子们的百科全书》贝贝狗童书馆 2018
- 《写给孩子的趣味天文学》(俄)雅科夫·伊西达洛维奇·别莱利曼著 2019
- 《写给孩子的趣味物理学》(俄)雅科夫·伊西达洛维奇·别莱利曼著 2019
- 《写给孩子的趣味力学》(俄)雅科夫·伊西达洛维奇·别莱利曼著 2019
- 《写给孩子的宇宙简史 宇宙从哪里来》(美)摩根著 2016
- 《写给孩子的趣味代数学》(俄)雅科夫·伊西达洛维奇·别莱利曼著 2019
- 《写给孩子们的百科全书 动物王国》贝贝狗童书馆 2018
- 《愿你慢慢长大 爸爸写给女儿的二十封信》李映宏著 2019
- 《写给孩子的趣味几何学》雅科夫·伊西达洛维奇·别莱利曼 2019
- 《电子测量与仪器》人力资源和社会保障部教材办公室组织编写 2009
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《电子应用技术项目教程 第3版》王彰云 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017