暂无商品咨询信息 [发表商品咨询]
本书帮助读者深入理解现代C++编程,全书供10章。第1章和第2章全面系统地介绍C++11/14/17/20的语言新增功能及其应用;第3章介绍面向对象的技术;第4章至第6章系统地介绍标准模板库(STL)的主要组成,如模板、容器、算法函数等;第7章介绍智能指针与内存管理;在第8章和第9章介绍并发编程和并行算法,以及CUDA并行计算平台的入门编程知识;第10章介绍软件设计模式。
目 录
第1章 语言新增功能 1
1.1 C++11新增的语言功能 1
1.2 C++14新增的语言功能 18
1.3 C++17新增的语言功能 20
1.4 C++20新增的语言功能 24
1.6 本章小结 30
第2章 lambda表达式 33
2.1 C++11中的lambda表达式 33
2.2 C++14对lambda表达式的扩展
2.2.1 lambda捕获初始化 38
2.2.2 泛型lambda表达式 39
2.2.3 默认参数 40
2.3 C++17对lambda表达式的扩展 42
2.3.1 常量lambda表达式 42
2.3.2 按值捕获this指针 43
2.4 C++20对lambda表达式的扩展 44
2.4.1 lambda模板语法 44
2.4.2 lambda参数包捕获 44
2.5 本章小结 45
第3章 面向对象的技术 47
3.1 构造函数与析构函数 47
3.1.1 转换构造函数和显式构造函数 48
3.1.2 拷贝构造函数 49
3.1.3 拷贝赋值运算符 50
3.1.4 移动构造函数 51
3.1.5 移动赋值运算符 52
3.1.6 委派构造函数 53
3.1.7 继承构造函数 53
3.1.8 显式默认函数和显式删除函数 54
3.1.9 私有构造函数 55
3.2 虚函数与多态性 56
3.2.1 虚函数表和虚函数指针 58
3.2.2 显式重写和终止重写 58
3.2.3 常量表达式虚函数 59
3.3 重载 61
3.3.1 重载赋值运算符 61
3.3.2 函数调用运算符的重载 62
3.4 继承 63
3.4.1 多重继承 63
3.4.2 多级继承 64
3.4.3 虚继承 65
3.5 其他杂项 66
3.5.1 左值引用和右值引用 66
3.5.2 移动语义 67
3.5.3 引用限定符 69
3.6 本章小结 71
第4章 模板 73
4.1 函数模板 74
4.1.1 函数模板实例化 75
4.1.2 函数模板实参推导 76
4.1.3 显式函数模板实参 76
4.1.4 函数模板实参替换 77
4.1.5 函数模板实参重写 77
4.1.6 参数包 79
4.1.7 折叠表达式 80
4.2 类模板 81
4.2.1 显式类模板实例化 82
4.2.2 隐式类模板实例化 82
4.2.3 类模板形参和类模板实参 84
4.2.4 类模板实参推导 85
4.2.5 非类型模板参数中的类类型 85
4.2.6 用auto声明非类型模板参数 85
4.3 类型别名和别名模板 86
4.4 变量模板 88
4.5 概念与约束 89
4.5.1 概念 89
4.5.2 约束 91
4.5.3 约束表达式 93
4.6 本章小结 96
第5章 STL容器 99
5.1 顺序容器 99
5.1.1 std::array 100
5.1.2 std::vector 101
5.1.3 std::list 103
5.1.4 std::forward_list 105
5.1.5 std::deque 107
5.2 关联容器 108
5.2.1 std::set 109
5.2.2 std::multiset 110
5.2.3 std::map 111
5.2.4 std::multimap 113
5.3 无序关联容器 113
5.3.1 std::unordered_set 114
5.3.2 std::unordered_map 115
5.3.3 std::unordered_multiset 117
5.3.4 std::unordered_multisetmap 119
5.4 容器适配器 120
5.4.1 std::stack 120
5.4.2 std::queue 121
5.4.3 std::priority_queue 122
5.5 分配器与迭代器 126
5.5.1 std::allocator 126
5.5.2 迭代器 126
5.5.3 迭代器失效 127
5.6 本章小结 127
第6章 STL函数 129
6.1 算法函数 129
6.1.1 排序算法 129
6.1.2 搜索算法 130
6.1.3 非更改顺序算法 131
6.1.4 更改顺序算法 135
6.1.5 分割算法 140
6.1.6 合并算法 141
6.1.7 堆算法 142
6.1.8 最大最小值算法 144
6.1.9 数值算法 146
6.2 函数对象 148
6.2.1 std::greater和std::less 149
6.2.2 std::reference_wrapper 149
6.2.3 std::ref和std::cref 150
6.3 Utility函数 151
6.3.1 std::move 151
6.3.2 std::forward 152
6.3.3 std::swap 153
6.3.4 std::make_pair 153
6.4 回调函数 154
6.4.1 回调函数的基本概念 154
6.4.2 使用普通函数实现回调函数 154
6.4.3 使用函数指针实现回调函数 155
6.4.4 使用函数对象实现回调函数 155
6.4.5 将lambda表达式传入回调函数 157
6.4.6 使用std::bind实现回调函数 158
6.4.7 使用std::function实现回调函数 159
6.5 本章小结 162
第7章 智能指针与内存管理 165
7.1 堆栈和内存分配 165
7.2 指针与内存泄漏 166
7.3 分段错误 168
7.4 智能指针 169
7.4.1 std::unique_ptr 170
7.4.2 std::shared_ptr 177
7.4.3 std::weak_ptr 183
7.5 本章小结 185
第8章 并发与多线程 187
8.1 并发与并行 187
8.2 创建线程 188
8.3 线程同步与互斥 192
8.3.1 std::mutex 192
8.3.2 std::condition_variable 193
8.3.3 std::lock_guard和std::unique_lock 194
8.3.4 std::atomic 199
8.4 线程死锁 200
8.4.1 std::lock 200
8.4.2 std::scoped_lock 203
8.5 STL中的<future> 204
8.5.1 std::async 204
8.5.2 std::future 206
8.5.3 std::promise 207
8.5.4 std::packaged_task 208
8.6 线程池 210
8.7 本章小结 213
第9章 并行算法与并行计算 215
9.1 STL并行算法 215
9.1.1 std::execution::seq 215
9.1.2 std::execution::par 215
9.1.3 std::execution::par_unseq 216
9.1.4 std::execution::unseq 216
9.2 常用的并行算法 217
9.2.1 std::sort 217
9.2.2 std::transform 218
9.2.3 std::find、std::find_if和std::find_if_not 219
9.2.4 std::search 220
9.3 C++17中新增的并行算法 221
9.3.1 std::for_each和std::for_each_n 222
9.3.2 std::reduce和std::transform_reduce 223
9.3.3 std::exclusive_scan和std::inclusive_scan 227
9.3.4 std::transform_exclusive_scan和std::transform_inclusive_scan 229
9.4 CUDA并行计算编程 230
9.5 OpenCL编程 237
9.6 本章小结 244
第10章 设计模式 247
10.1 设计模式概念 247
10.2 创建设计模式 248
10.2.1 工厂方法 249
10.2.2 抽象工厂方法 251
10.2.3 构建器方法 253
10.2.4 原型方法 257
10.2.5 单例方法 259
10.3 结构设计模式 261
10.3.1 适配器方法 261
10.3.2 桥接方法 263
10.3.3 组合方法 265
10.3.4 装饰器方法 269
10.3.5 门面方法 271
10.3.6 代理方法 274
10.3.7 蝇量级方法 276
10.4 行为设计模式 279
10.4.1 责任链方法 279
10.4.2 迭代器方法 282
10.4.3 中介器方法 285
10.4.4 备忘录方法 288
10.4.5 观察者方法 291
10.4.6 状态方法 295
10.4.7 策略方法 297
10.4.8 模板方法 299
10.4.9 命令方法 302
10.4.10 访客方法 306
10.5 本章小结 310
参考文献 311
基本信息 | |
---|---|
出版社 | 电子工业出版社 |
ISBN | 9787121508608 |
条码 | 9787121508608 |
编者 | 杭小树(XIAOSHUHANG) 著 |
译者 | -- |
出版年月 | 2025-08-01 00:00:00.0 |
开本 | 其他 |
装帧 | 平装 |
页数 | 320 |
字数 | |
版次 | 1 |
印次 | 1 |
纸张 |
暂无商品评论信息 [发表商品评论]
暂无商品咨询信息 [发表商品咨询]