作者:
Bjarne Stroustrup
出版社: 机械工业出版社
原作名: A Tour of C++
译者: 王刚
出版年: 2019-8
页数: 225
定价: 79.00元
装帧: 平装
丛书: 计算机科学丛书
ISBN: 9787111633280
出版社: 机械工业出版社
原作名: A Tour of C++
译者: 王刚
出版年: 2019-8
页数: 225
定价: 79.00元
装帧: 平装
丛书: 计算机科学丛书
ISBN: 9787111633280
内容简介 · · · · · ·
本书简洁、自成体系,包含C++语言大多数主要特性和标准库组件。当然,这些并未深入介绍,而是给予程序员一个有意义的语言概述、一些关键的例子以及起步阶段的实用帮助。该书的目标不是教你如何编程,它也不可能是你精通C++的资源。但是,如果你是一名C或C++程序员,希望更加熟悉现在的C++语言,或者你是一名精通其他语言的程序员,希望获得有关现代C++语言本质和优点的精确描述,该书是不二选择。
C++语言导学(第二版)的创作者
· · · · · ·
目录 · · · · · ·
出版者的话
译者序
前言
第1章 基础知识 1
1.1 引言 1
1.2 程序 1
1.3 函数 3
1.4 类型、变量和算术运算 4
1.4.1 算术运算 5
1.4.2 初始化 6
1.5 作用域和生命周期 7
1.6 常量 8
1.7 指针、数组和引用 9
1.8 检验 12
1.9 映射到硬件 14
1.9.1 赋值 14
1.9.2 初始化 15
1.10 建议 16
第2章 用户自定义类型 18
2.1 引言 18
2.2 结构 18
2.3 类 20
2.4 联合 21
2.5 枚举 22
2.6 建议 23
第3章 模块化 25
3.1 引言 25
3.2 分别编译 26
3.3 模块(C++20) 27
3.4 名字空间 29
3.5 错误处理 30
3.5.1 异常 30
3.5.2 不变式 32
3.5.3 错误处理替代 33
3.5.4 合约 35
3.5.5 静态断言 35
3.6 函数参数和返回值 36
3.6.1 参数传递 36
3.6.2 返回值 37
3.6.3 结构化绑定 39
3.7 建议 40
第4章 类 41
4.1 引言 41
4.2 具体类型 42
4.2.1 一种算术类型 42
4.2.2 容器 44
4.2.3 初始化容器 45
4.3 抽象类型 47
4.4 虚函数 49
4.5 类层次 50
4.5.1 层次结构的益处 52
4.5.2 层次漫游 53
4.5.3 避免资源泄漏 54
4.6 建议 55
第5章 基本操作 57
5.1 引言 57
5.1.1 基本操作 57
5.1.2 类型转换 59
5.1.3 成员初始值 59
5.2 拷贝和移动 60
5.2.1 拷贝容器 60
5.2.2 移动容器 62
5.3 资源管理 63
5.4 常规操作 65
5.4.1 比较 65
5.4.2 容器操作 65
5.4.3 输入输出操作 66
5.4.4 用户自定义字面值 66
5.4.5 swap() 67
5.4.6 hash 67
5.5 建议 67
第6章 模板 69
6.1 引言 69
6.2 参数化类型 69
6.2.1 约束模板参数(C++20) 71
6.2.2 值模板参数 71
6.2.3 模板参数推断 72
6.3 参数化操作 73
6.3.1 函数模板 73
6.3.2 函数对象 74
6.3.3 lambda表达式 75
6.4 模板机制 77
6.4.1 可变参数模板 78
6.4.2 别名 78
6.4.3 编译时if 79
6.5 建议 80
第7章 概念和泛型编程 81
7.1 引言 81
7.2 概念(C++20) 81
7.2.1 概念的使用 82
7.2.2 基于概念的重载 83
7.2.3 合法代码 84
7.2.4 概念的定义 84
7.3 泛型编程 86
7.3.1 概念的使用 86
7.3.2 使用模板抽象 86
7.4 可变参数模板 88
7.4.1 表达式折叠 89
7.4.2 参数转发 90
7.5 模板编译模型 90
7.6 建议 91
第8章 标准库概览 92
8.1 引言 92
8.2 标准库组件 92
8.3 标准库头文件和名字空间 93
8.4 建议 94
第9章 字符串和正则表达式 95
9.1 引言 95
9.2 字符串 95
9.3 字符串视图 97
9.4 正则表达式 99
9.4.1 搜索 99
9.4.2 正则表达式符号表示 100
9.4.3 迭代器 104
9.5 建议 104
第10章 输入输出 106
10.1 引言 106
10.2 输出 107
10.3 输入 108
10.4 I/O状态 109
10.5 用户自定义类型的I/O 110
10.6 格式化 111
10.7 文件流 112
10.8 字符串流 112
10.9 C风格I/O 113
10.10 文件系统 114
10.11 建议 117
第11章 容器 119
11.1 引言 119
11.2 vector 119
11.2.1 元素 121
11.2.2 范围检查 122
11.3 list 123
11.4 map 125
11.5 unordered_map 125
11.6 容器概述 127
11.7 建议 128
第12章 算法 130
12.1 引言 130
12.2 使用迭代器 131
12.3 迭代器类型 133
12.4 流迭代器 134
12.5 谓词 136
12.6 算法概述 136
12.7 概念(C++20) 137
12.8 容器算法 140
12.9 并行算法 140
12.10 建议 141
第13章 实用功能 142
13.1 引言 142
13.2 资源管理 142
13.2.1 unique_ptr和shared_ptr 143
13.2.2 move()和forward() 145
13.3 范围检查:span 147
13.4 特殊容器 148
13.4.1 array 149
13.4.2 bitset 150
13.4.3 pair和tuple 151
13.5 选择 152
13.5.1 variant 153
13.5.2 optional 154
13.5.3 any 155
13.6 分配器 155
13.7 时间 156
13.8 函数适配器 157
13.8.1 lambda作为适配器 157
13.8.2 mem_fn() 157
13.8.3 function 158
13.9 类型函数 158
13.9.1 iterator_traits 159
13.9.2 类型谓词 161
13.9.3 enable_if 161
13.10 建议 162
第14章 数值 163
14.1 引言 163
14.2 数学函数 163
14.3 数值算法 164
14.4 复数 165
14.5 随机数 166
14.6 向量算术 167
14.7 数值限制 168
14.8 建议 168
第15章 并发 169
15.1 引言 169
15.2 任务和thread 169
15.3 传递参数 170
15.4 返回结果 171
15.5 共享数据 172
15.6 等待事件 173
15.7 任务通信 175
15.7.1 future和promise 175
15.7.2 packaged_task 176
15.7.3 async() 177
15.8 建议 178
第16章 历史和兼容性 180
16.1 历史 180
16.1.1 大事年表 181
16.1.2 早期的C++ 182
16.1.3 ISO C++标准 184
16.1.4 标准和编程风格 186
16.1.5 C++的应用 186
16.2 C++特性演化 186
16.2.1 C++11语言特性 187
16.2.2 C++14语言特性 188
16.2.3 C++17语言特性 188
16.2.4 C++11标准库组件 188
16.2.5 C++14标准库组件 189
16.2.6 C++17标准库组件 189
16.2.7 已弃用特性 190
16.3 C/C++兼容性 190
16.3.1 C和C++是兄弟 191
16.3.2 兼容性问题 192
16.4 参考文献 193
16.5 建议 196
索引 198
· · · · · · (收起)
译者序
前言
第1章 基础知识 1
1.1 引言 1
1.2 程序 1
1.3 函数 3
1.4 类型、变量和算术运算 4
1.4.1 算术运算 5
1.4.2 初始化 6
1.5 作用域和生命周期 7
1.6 常量 8
1.7 指针、数组和引用 9
1.8 检验 12
1.9 映射到硬件 14
1.9.1 赋值 14
1.9.2 初始化 15
1.10 建议 16
第2章 用户自定义类型 18
2.1 引言 18
2.2 结构 18
2.3 类 20
2.4 联合 21
2.5 枚举 22
2.6 建议 23
第3章 模块化 25
3.1 引言 25
3.2 分别编译 26
3.3 模块(C++20) 27
3.4 名字空间 29
3.5 错误处理 30
3.5.1 异常 30
3.5.2 不变式 32
3.5.3 错误处理替代 33
3.5.4 合约 35
3.5.5 静态断言 35
3.6 函数参数和返回值 36
3.6.1 参数传递 36
3.6.2 返回值 37
3.6.3 结构化绑定 39
3.7 建议 40
第4章 类 41
4.1 引言 41
4.2 具体类型 42
4.2.1 一种算术类型 42
4.2.2 容器 44
4.2.3 初始化容器 45
4.3 抽象类型 47
4.4 虚函数 49
4.5 类层次 50
4.5.1 层次结构的益处 52
4.5.2 层次漫游 53
4.5.3 避免资源泄漏 54
4.6 建议 55
第5章 基本操作 57
5.1 引言 57
5.1.1 基本操作 57
5.1.2 类型转换 59
5.1.3 成员初始值 59
5.2 拷贝和移动 60
5.2.1 拷贝容器 60
5.2.2 移动容器 62
5.3 资源管理 63
5.4 常规操作 65
5.4.1 比较 65
5.4.2 容器操作 65
5.4.3 输入输出操作 66
5.4.4 用户自定义字面值 66
5.4.5 swap() 67
5.4.6 hash 67
5.5 建议 67
第6章 模板 69
6.1 引言 69
6.2 参数化类型 69
6.2.1 约束模板参数(C++20) 71
6.2.2 值模板参数 71
6.2.3 模板参数推断 72
6.3 参数化操作 73
6.3.1 函数模板 73
6.3.2 函数对象 74
6.3.3 lambda表达式 75
6.4 模板机制 77
6.4.1 可变参数模板 78
6.4.2 别名 78
6.4.3 编译时if 79
6.5 建议 80
第7章 概念和泛型编程 81
7.1 引言 81
7.2 概念(C++20) 81
7.2.1 概念的使用 82
7.2.2 基于概念的重载 83
7.2.3 合法代码 84
7.2.4 概念的定义 84
7.3 泛型编程 86
7.3.1 概念的使用 86
7.3.2 使用模板抽象 86
7.4 可变参数模板 88
7.4.1 表达式折叠 89
7.4.2 参数转发 90
7.5 模板编译模型 90
7.6 建议 91
第8章 标准库概览 92
8.1 引言 92
8.2 标准库组件 92
8.3 标准库头文件和名字空间 93
8.4 建议 94
第9章 字符串和正则表达式 95
9.1 引言 95
9.2 字符串 95
9.3 字符串视图 97
9.4 正则表达式 99
9.4.1 搜索 99
9.4.2 正则表达式符号表示 100
9.4.3 迭代器 104
9.5 建议 104
第10章 输入输出 106
10.1 引言 106
10.2 输出 107
10.3 输入 108
10.4 I/O状态 109
10.5 用户自定义类型的I/O 110
10.6 格式化 111
10.7 文件流 112
10.8 字符串流 112
10.9 C风格I/O 113
10.10 文件系统 114
10.11 建议 117
第11章 容器 119
11.1 引言 119
11.2 vector 119
11.2.1 元素 121
11.2.2 范围检查 122
11.3 list 123
11.4 map 125
11.5 unordered_map 125
11.6 容器概述 127
11.7 建议 128
第12章 算法 130
12.1 引言 130
12.2 使用迭代器 131
12.3 迭代器类型 133
12.4 流迭代器 134
12.5 谓词 136
12.6 算法概述 136
12.7 概念(C++20) 137
12.8 容器算法 140
12.9 并行算法 140
12.10 建议 141
第13章 实用功能 142
13.1 引言 142
13.2 资源管理 142
13.2.1 unique_ptr和shared_ptr 143
13.2.2 move()和forward() 145
13.3 范围检查:span 147
13.4 特殊容器 148
13.4.1 array 149
13.4.2 bitset 150
13.4.3 pair和tuple 151
13.5 选择 152
13.5.1 variant 153
13.5.2 optional 154
13.5.3 any 155
13.6 分配器 155
13.7 时间 156
13.8 函数适配器 157
13.8.1 lambda作为适配器 157
13.8.2 mem_fn() 157
13.8.3 function 158
13.9 类型函数 158
13.9.1 iterator_traits 159
13.9.2 类型谓词 161
13.9.3 enable_if 161
13.10 建议 162
第14章 数值 163
14.1 引言 163
14.2 数学函数 163
14.3 数值算法 164
14.4 复数 165
14.5 随机数 166
14.6 向量算术 167
14.7 数值限制 168
14.8 建议 168
第15章 并发 169
15.1 引言 169
15.2 任务和thread 169
15.3 传递参数 170
15.4 返回结果 171
15.5 共享数据 172
15.6 等待事件 173
15.7 任务通信 175
15.7.1 future和promise 175
15.7.2 packaged_task 176
15.7.3 async() 177
15.8 建议 178
第16章 历史和兼容性 180
16.1 历史 180
16.1.1 大事年表 181
16.1.2 早期的C++ 182
16.1.3 ISO C++标准 184
16.1.4 标准和编程风格 186
16.1.5 C++的应用 186
16.2 C++特性演化 186
16.2.1 C++11语言特性 187
16.2.2 C++14语言特性 188
16.2.3 C++17语言特性 188
16.2.4 C++11标准库组件 188
16.2.5 C++14标准库组件 189
16.2.6 C++17标准库组件 189
16.2.7 已弃用特性 190
16.3 C/C++兼容性 190
16.3.1 C和C++是兄弟 191
16.3.2 兼容性问题 192
16.4 参考文献 193
16.5 建议 196
索引 198
· · · · · · (收起)
丛书信息
· · · · · ·
计算机科学丛书(共628册),
这套丛书还有
《软件可靠性方法》《IT项目管理(原书第9版)》《Python程序设计基础(原书第4版)》《无线网络》《嵌入式计算系统设计原理(原书第3版)》
等
。
喜欢读"C++语言导学(第二版)"的人也喜欢 · · · · · ·
C++语言导学(第二版)的书评 · · · · · · ( 全部 3 条 )

最喜欢的编程书、最糟糕的翻译
最喜欢的编程系列书,但这版翻译质量实在差劲,甚至不如原书 + DeepL 划句翻译。建议想要看这本书的人尽量用原书。 粗略浏览一小时,发现包括但不限于以下问题: 毫无帮助作用的注释:解释纯函数说是“数学意义上的函数”,这样的解释完全依赖于读者的数学基础,很容易让读者糊...
(展开)
> 更多书评 3篇
论坛 · · · · · ·
在这本书的论坛里发言这本书的其他版本 · · · · · · ( 全部9 )
-
机械工业出版社 (2015)9.1分 50人读过
-
Addison-Wesley (2013)8.9分 106人读过
-
Addison Wesley (2018)9.1分 59人读过
-
电子工业出版社 (2023)8.5分 24人读过
以下书单推荐 · · · · · · ( 全部 )
- 我的计算机类电子书 (wizard)
- Coding (_zsWang_)
- c++ (玄)
- 专业 (Imagine Dragons)
- 引进西方教科书 Pearson篇 (已己巳)
谁读这本书? · · · · · ·
二手市场
· · · · · ·
- 在豆瓣转让 有77人想读,手里有一本闲着?
订阅关于C++语言导学(第二版)的评论:
feed: rss 2.0
4 有用 Titan_Pascal 2022-01-16 11:08:07
很神!别人写的cpp动辄就千把页,原作者200页就就能讲得很全面,甚至包括了cpp20之后的很多新特性。 但千万别给翻译忽悠了,原题是A Tour of C++,可不是什么“导学”!没基础压根是不会看懂的。
1 有用 礼赞 2023-08-01 14:11:39 广东
我之前都差点把收藏的 C++ 书籍全部删掉了,忘记这门令人头痛的语言,没曾想有一日还是需要用到,只好重新翻出来。 为了快速熟悉现代 C++,只好重新读下老爷子的这本导学,之前其实读过原版,但这次为了快选择中译。 书籍本身自是没什么问题,短小精悍,主要阐述理念和常用范式,提供风格建议,而不是雕琢语言的细节,虽然简略但也挺全面,自己需要用到的都留个印象后续再详细查询。 翻译的话就还行吧。 后续... 我之前都差点把收藏的 C++ 书籍全部删掉了,忘记这门令人头痛的语言,没曾想有一日还是需要用到,只好重新翻出来。 为了快速熟悉现代 C++,只好重新读下老爷子的这本导学,之前其实读过原版,但这次为了快选择中译。 书籍本身自是没什么问题,短小精悍,主要阐述理念和常用范式,提供风格建议,而不是雕琢语言的细节,虽然简略但也挺全面,自己需要用到的都留个印象后续再详细查询。 翻译的话就还行吧。 后续估计还是得边用边啃其他原版书籍,C++ 真的是汪洋大海。 (展开)
3 有用 康康 2019-12-06 22:37:56
第二版,一本200页的书将C++的特性、语法、历史都囊括了,没有基础绝对难度很高,基础很好绝对看的酣畅淋漓,我属于再努努力,就能赶场淋漓的那种吧。
1 有用 zhesky 2023-03-25 22:17:16 广东
怀疑是机翻的
0 有用 Dasein 2022-10-19 20:34:13 福建
现代c++语言特性和标准库概览,当真是c++观光之旅。