• C++实战:核心技术与最佳实践
  • C++实战:核心技术与最佳实践
21年品牌 40万+商家 超1.5亿件商品

C++实战:核心技术与最佳实践

新华书店全新正版,极速发货,假一罚十,可开电子发票,请放心购买。

56.58 5.7折 99.8 全新

库存124件

天津西青
认证卖家担保交易快速发货售后保障

作者吴咏炜 著

出版社人民邮电出版社

ISBN9787115657695

出版时间2024-12

装帧平装

开本16开

定价99.8元

货号1203483320

上书时间2025-01-15

果然是好书店

三年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
吴咏炜

国内 C++ 专家、Boolan 首席技术咨询师,曾任英特尔亚太研发中心资深系统架构师,毕业于复旦大学物理系,拥有 30 年 C/C++ 系统级软件开发和架构经验。

目前从事 C++ 相关的技术咨询和培训工作,为华为、大疆等多家公司提供过服务。工作涉及 C/C++ 语言、软件架构、安全软件开发、性能优化、代码重用、开源软件等多方面。

开源软件作品包括:mozi、nvwa、libunibreak 等。

专栏或者翻译作品包括:极客时间专栏《现代 C++ 编程实战》(累计学习人数超过 3.5 万人),图书翻译作品《编程大师访谈录》《C++ Core Guidelines 解析》,论文翻译作品《在纷繁多变的世界里茁壮成长:C++ 2006—2020》,等等。

目录
推荐序vii
前言ix
致谢xiv
绪论xv

第 1 章C 和 C++ 基础1
1.1C 基础知识1
1.1.1代码组织1
1.1.2预处理2
1.1.3函数3
1.1.4语句和表达式4
1.1.5对象和变量5
1.1.6基础类型6
1.1.7指针7
1.1.8枚举7
1.1.9数组8
1.1.10结构体9
1.1.11联合体9
1.2C++ 基础知识10
1.2.1C++ 是 C 的超集吗?10
1.2.2引用12
1.2.3重载14
1.2.4名空间16
1.2.5类17
1.2.6面向对象编程23
1.2.7运行期类型识别25
1.2.8异常25
1.2.9模板27
1.2.10具名转型28
1.3小结29

第 2 章对象生存期和 RAII30
2.1C++ 对象的存储期和生存期30
2.1.1静态对象的生存期30
2.1.2动态对象的生存期32
2.1.3自动对象的生存期36
2.2RAII 惯用法42
2.3小结45

第 3 章值类别和移动语义46
3.1引用语义和值语义46
3.2值类别48
3.2.1左值48
3.2.2右值49
3.3移动语义51
3.3.1提供移动操作的重载51
3.3.2移动对代码风格的影响53
3.3.3返回值优化55
3.4值类别的其他细节59
3.4.1右值引用变量的值类别59
3.4.2转发引用和完美转发*60
3.5三法则、五法则和零法则62
3.6小结65

第 4 章模板和自动类型推导66
4.1模板概要66
4.2函数模板67
4.2.1模板的定义67
4.2.2模板的实例化68
4.2.3模板参数推导和 auto 自动类型推导69
4.3类模板73
4.3.1模板的定义73
4.3.2模板的显式特化73
4.3.3类模板的成员函数和类的成员函数模板75
4.4变量模板76
4.5别名模板76
4.6其他类型推导77
4.6.1类模板参数推导77
4.6.2decltype77
4.6.3后置返回类型声明和返回类型自动推导78
4.6.4声明变量和初始化的不同方式*79
4.6.5结构化绑定82
4.7小结83

第 5 章字符串84
5.1字符串概述84
5.2string 的基本特点85
5.2.1类容器特性85
5.2.2字符串特性87
5.3basic_string 模板92
5.4小结93

第 6 章函数对象94
6.1什么是函数对象94
6.1.1函数对象类94
6.1.2高阶函数95
6.1.3函数的指针和引用95
6.2lambda 表达式96
6.2.1基本用法和原理96
6.2.2捕获97
6.2.3泛型 lambda 表达式100
6.3使用 function 对象100
6.4小结102

第 7 章标准容器103
7.1标准模板库和容器103
7.2序列容器104
7.2.1vector104
7.2.2deque111
7.2.3list112
7.2.4forward_list114
7.2.5array115
7.3关联容器117
7.3.1排序问题117
7.3.2关联容器的特性120
7.3.3通透比较器124
7.4无序关联容器126
7.4.1哈希函数对象126
7.4.2无序关联容器的接口128
7.4.3无序关联容器的底层细节128
7.5容器适配器130
7.5.1queue130
7.5.2stack131
7.5.3priority_queue132
7.6性能说明133
7.7小结133

第 8 章迭代器134
8.1基本概念134
8.1.1迭代器的初步示例134
8.1.2ostream_range.h 对被输出对象的要求136
8.2迭代器的类别137
8.2.1迭代器138
8.2.2输入迭代器140
8.2.3前向迭代器140
8.2.4双向迭代器141
8.2.5随机访问迭代器141
8.2.6连续迭代器142
8.2.7输出迭代器142
8.3基于范围的 for 循环143
8.3.1范围表达式的生存期问题*146
8.3.2键–值对容器的遍历146
8.3.3哨兵类型*147
8.4小结149

第 9 章标准算法150
9.1算法概述150
9.2一些常用算法150
9.2.1映射150
9.2.2归约151
9.2.3过滤152
9.2.4生成154
9.2.5复制155
9.2.6搜索157
9.2.7排序159
9.2.8其他160
9.3并行算法162
9.4C++20 的范围算法*163
9.5小结166

第 10 章视图167
10.1视图概述167
10.2string_view167
10.2.1基本用法168
10.2.2视图的生存期问题169
10.2.3string_view 和 string170
10.2.4string_view 的哈希*172
10.3span172
10.3.1基本用法172
10.3.2一些技术细节173
10.3.3gsl::span 的性能问题175
10.4C++20 里的视图*175
10.4.1映射176
10.4.2过滤176
10.4.3反转176
10.4.4取子元素177
10.4.5管道和管道的性能177
10.4.6其他视图178
10.5小结179

第 11 章智能指针180
11.1智能指针概述180
11.2唯一所有权的智能指针 unique_ptr180
11.2.1基本使用场景和示例180
11.2.2一些技术细节182
11.3共享所有权的智能指针 shared_ptr183
11.3.1基本使用场景和示例183
11.3.2弱指针 weak_ptr184
11.3.3引用计数的性能问题185
11.4智能指针的传递方式186
11.5删除器的行为定制187
11.6小结189

第 12 章现代 C++ 的一些重要改进190
12.1类190
12.1.1类数据成员的默认初始化190
12.1.2override 和 final191
12.2静态断言193
12.3字面量194
12.3.1用户定义字面量194
12.3.2二进制字面量197
12.4数字分隔符198
12.5constexpr 变量和函数*199
12.5.1字面类型200
12.6枚举类和指定枚举的底层类型201
12.6.1byte 类型202
12.7多元组 tuple203
12.7.1利用 tuple 的快速比较204
12.8时间库 chrono205
12.8.1C++20 前的 chrono 库205
12.8.2C++20 的 chrono 库改进*208
12.9随机数库 random210
12.10正则表达式库 regex212
12.11小结215

第 13 章契约和异常216
13.1契约式设计216
13.1.1契约式设计的优点、应用场景和实现方式217
13.1.2先决条件219
13.1.3后置条件222
13.1.4不变量224
13.2异常225
13.2.1不使用异常的 C 风格错误处理226
13.2.2使用异常的代码示例229
13.2.3如何处理异常231
13.2.4不用异常的理由234
13.2.5不用异常的后果236
13.3小结238

第 14 章optional/variant 和错误处理239
14.1不使用异常的错误处理239
14.2optional240
14.3variant242
14.3.1访问 variant244
14.4expected246
14.5标准错误码249
14.5.1文件系统库里面的错误处理249
14.5.2集成自定义错误码251
14.6返回值优化问题253
14.7小结255

第 15 章传递对象的方式256
15.1传统的对象传递方式256
15.2性能优化的对象传递方式258
15.2.1针对移动的优化258
15.2.2该不该用值传参?259
15.2.3“不可教授”的极致性能传参方式*264
15.2.4字符串的特殊处理266
15.3小结267

第 16 章并发编程268
16.1并发编程概述268
16.2线程和锁269
16.2.1线程和锁的基本示例270
16.2.2thread 的析构问题271
16.2.3数据竞争示例272
16.2.4锁的更多细节273
16.3通知机制274
16.4期值278
16.4.1async 和 future278
16.4.2promise 和 future279
16.4.3packaged_task 和 future280
16.5内存序和原子量281
16.5.1执行顺序问题281
16.5.2获得–释放语义286
16.5.3atomic288
16.6线程局部对象292
16.7线程安全的容器?296
16.7.1标准容器的线程安全性296
16.7.2同步访问的模板工具297
16.7.3支持并发访问的容器299
16.8小结300

第 17 章异步编程301
17.1异步编程的基本概念301
17.2Asio302
17.2.1异步执行302
17.2.2异步回调305
17.2.3同步网络程序306
17.2.4异步网络程序309
17.3C++20协程313
17.3.1使用协程的异步网络程序313
17.3.2使用协程的生成器*316
17.3.3有栈和无栈协程*319
17.4小结321

第 18 章探索 C++ 的工具322
18.1编译器322
18.1.1主流编译器简介322
18.1.2优化选项325
18.1.3告警选项326
18.1.4编译器的其他重要功能327
18.1.5标准库的调试模式328
18.2Clang 系列工具329
18.2.1Clang-Format329
18.2.2Clang-Tidy331
18.2.3clangd333
18.3运行期检查工具333
18.3.1valgrind333
18.3.2AddressSanitizer(ASan)333
18.3.3UndefinedBehaviorSanitizer(UBSan)334
18.3.4ThreadSanitizer(TSan)335
18.4Compiler Explorer335
18.5小结336

结束语337
推荐阅读材料338
索引340

内容摘要
这是一本面向实战的现代C++指南,由作者结合30余年C++编程经验倾力打造。书中聚焦开发者日常高频使用的语言特性,重点讲解惯用法(而非罗列语言里的琐碎细节),展示代码示例及其技术原理,旨在帮助大家又快又好地使用C++。

作者精选了对象生存期与RAII、移动语义、标准模板库(STL)、视图、智能指针、错误处理、并发与异步编程等核心主题,深入浅出地剖析语言特性,并针对实际开发中的常见问题提供解决方案。 

本书面向C/C++程序员(特别是遇到困难、希望深入理解并优化C++开发的读者),以及其他需要提升C++编程能力的开发者。

主编推荐
1.现代C++主线
含C++98/11/14/17/20/23,适合初中级开发者

2.作者背景深厚
专研C++编程30年,助你突破C++痛点与难点

3.关注核心特性 
聚焦高频使用的语言特性,重点讲解语言惯用法

4.面向实战开发 
针对实际应用场景下的常见问题,提供解决方案

5.讲解通俗易懂
多图多表多代码,内容简单易读,代码方便实现

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP