1.现代C 主线 含C 98 11 14 17 20 23,适合初中级发者 2.作者背景深厚 专研C 编程30年,助你突破C 痛与难 3.关注核心特性 聚焦高频使用的语言特性,重讲解语言惯用法 4.面向实战发 针对实际应用场景下的常见问题,提供解决方案 5.讲解通俗易懂 多图多表多代码,内容简单易读,代码方便实现
售 价:¥
纸质售价:¥49.90购买纸书
6.6
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐

推荐序
前言
本书特色与目标读者
引用和拓展阅读
中文术语
一些约定
致谢
绪论
为什么要学习 C++
C++ 的特点
有最好的语言吗?
如何学习 C++
第 1 章 C 和 C++ 基础
1.1 C 基础知识
1.1.1 代码组织
1.1.2 预处理
1.1.3 函数
1.1.4 语句和表达式
1.1.5 对象和变量
1.1.6 基础类型
1.1.7 指针
1.1.8 枚举
1.1.9 数组
1.1.10 结构体
1.1.11 联合体
1.2 C++ 基础知识
1.2.1 C++ 是 C 的超集吗?
1.2.2 引用
1.2.3 重载
1.2.4 名空间
1.2.5 类
1.2.6 面向对象编程
1.2.7 运行期类型识别
1.2.8 异常
1.2.9 模板
1.2.10 具名转型
1.3 小结
第 2 章 对象生存期和 RAII
2.1 C++ 对象的存储期和生存期
2.1.1 静态对象的生存期
2.1.2 动态对象的生存期
2.1.3 自动对象的生存期
2.2 RAII 惯用法
2.3 小结
第 3 章 值类别和移动语义
3.1 引用语义和值语义
3.2 值类别
3.2.1 左值
3.2.2 右值
3.3 移动语义
3.3.1 提供移动操作的重载
3.3.2 移动对代码风格的影响
3.3.3 返回值优化
3.4 值类别的其他细节
3.4.1 右值引用变量的值类别
3.4.2 转发引用和完美转发*
3.5 三法则、五法则和零法则
3.6 小结
第 4 章 模板和自动类型推导
4.1 模板概要
4.2 函数模板
4.2.1 模板的定义
4.2.2 模板的实例化
4.2.3 模板参数推导和 auto 自动类型推导
4.3 类模板
4.3.1 模板的定义
4.3.2 模板的显式特化
4.3.3 类模板的成员函数和类的成员函数模板
4.4 变量模板
4.5 别名模板
4.6 其他类型推导
4.6.1 类模板参数推导
4.6.2 decltype
4.6.3 后置返回类型声明和返回类型自动推导
4.6.4 声明变量和初始化的不同方式*
4.6.5 结构化绑定
4.7 小结
第 5 章 字符串
5.1 字符串概述
5.2 string 的基本特点
5.2.1 类容器特性
5.2.2 字符串特性
5.3 basic_string 模板
5.4 小结
第 6 章 函数对象
6.1 什么是函数对象
6.1.1 函数对象类
6.1.2 高阶函数
6.1.3 函数的指针和引用
6.2 lambda 表达式
6.2.1 基本用法和原理
6.2.2 捕获
6.2.3 泛型 lambda 表达式
6.3 使用 function 对象
6.4 小结
第 7 章 标准容器
7.1 标准模板库和容器
7.2 序列容器
7.2.1 vector
7.2.2 deque
7.2.3 list
7.2.4 forward_list
7.2.5 array
7.3 关联容器
7.3.1 排序问题
7.3.2 关联容器的特性
7.3.3 通透比较器
7.4 无序关联容器
7.4.1 哈希函数对象
7.4.2 无序关联容器的接口
7.4.3 无序关联容器的底层细节
7.5 容器适配器
7.5.1 queue
7.5.2 stack
7.5.3 priority_queue
7.6 性能说明
7.7 小结
第 8 章 迭代器
8.1 基本概念
8.1.1 迭代器的初步示例
8.1.2 ostream_range.h 对被输出对象的要求
8.2 迭代器的类别
8.2.1 迭代器
8.2.2 输入迭代器
8.2.3 前向迭代器
8.2.4 双向迭代器
8.2.5 随机访问迭代器
8.2.6 连续迭代器
8.2.7 输出迭代器
8.3 基于范围的 for 循环
8.3.1 范围表达式的生存期问题*
8.3.2 键-值对容器的遍历
8.3.3 哨兵类型*
8.4 小结
第 9 章 标准算法
9.1 算法概述
9.2 一些常用算法
9.2.1 映射
9.2.2 归约
9.2.3 过滤
9.2.4 生成
9.2.5 复制
9.2.6 搜索
9.2.7 排序
9.2.8 其他
9.3 并行算法
9.4 C++20 的范围算法*
9.5 小结
第 10 章 视图
10.1 视图概述
10.2 string_view
10.2.1 基本用法
10.2.2 视图的生存期问题
10.2.3 string_view 和 string
10.2.4 string_view 的哈希*
10.3 span
10.3.1 基本用法
10.3.2 一些技术细节
10.3.3 gsl::span 的性能问题
10.4 C++20 里的视图*
10.4.1 映射
10.4.2 过滤
10.4.3 反转
10.4.4 取子元素
10.4.5 管道和管道的性能
10.4.6 其他视图
10.5 小结
第 11 章 智能指针
11.1 智能指针概述
11.2 唯一所有权的智能指针 unique_ptr
11.2.1 基本使用场景和示例
11.2.2 一些技术细节
11.3 共享所有权的智能指针 shared_ptr
11.3.1 基本使用场景和示例
11.3.2 弱指针 weak_ptr
11.3.3 引用计数的性能问题
11.4 智能指针的传递方式
11.5 删除器的行为定制
11.6 小结
第 12 章 现代 C++ 的一些重要改进
12.1 类
12.1.1 类数据成员的默认初始化
12.1.2 override 和 final
12.2 静态断言
12.3 字面量
12.3.1 用户定义字面量
12.3.2 二进制字面量
12.4 数字分隔符
12.5 constexpr 变量和函数*
12.5.1 字面类型
12.6 枚举类和指定枚举的底层类型
12.6.1 byte 类型
12.7 多元组 tuple
12.7.1 利用 tuple 的快速比较
12.8 时间库 chrono
12.8.1 C++20 前的 chrono 库
12.8.2 C++20 的 chrono 库改进*
12.9 随机数库 random
12.10 正则表达式库 regex
12.11 小结
第 13 章 契约和异常
13.1 契约式设计
13.1.1 契约式设计的优点、应用场景和实现方式
13.1.2 先决条件
13.1.3 后置条件
13.1.4 不变量
13.2 异常
13.2.1 不使用异常的 C 风格错误处理
13.2.2 使用异常的代码示例
13.2.3 如何处理异常
13.2.4 不用异常的理由
13.2.5 不用异常的后果
13.3 小结
第 14 章 optional/variant 和错误处理
14.1 不使用异常的错误处理
14.2 optional
14.3 variant
14.3.1 访问 variant
14.4 expected
14.5 标准错误码
14.5.1 文件系统库里面的错误处理
14.5.2 集成自定义错误码
14.6 返回值优化问题
14.7 小结
第 15 章 传递对象的方式
15.1 传统的对象传递方式
15.2 性能优化的对象传递方式
15.2.1 针对移动的优化
15.2.2 该不该用值传参?
15.2.3 “不可教授”的极致性能传参方式*
15.2.4 字符串的特殊处理
15.3 小结
第 16 章 并发编程
16.1 并发编程概述
16.2 线程和锁
16.2.1 线程和锁的基本示例
16.2.2 thread 的析构问题
16.2.3 数据竞争示例
16.2.4 锁的更多细节
16.3 通知机制
16.4 期值
16.4.1 async 和 future
16.4.2 promise 和 future
16.4.3 packaged_task 和 future
16.5 内存序和原子量
16.5.1 执行顺序问题
16.5.2 获得-释放语义
16.5.3 atomic
16.6 线程局部对象
16.7 线程安全的容器?
16.7.1 标准容器的线程安全性
16.7.2 同步访问的模板工具
16.7.3 支持并发访问的容器
16.8 小结
第 17 章 异步编程
17.1 异步编程的基本概念
17.2 Asio
17.2.1 异步执行
17.2.2 异步回调
17.2.3 同步网络程序
17.2.4 异步网络程序
17.3 C++20 协程
17.3.1 使用协程的异步网络程序
17.3.2 使用协程的生成器*
17.3.3 有栈和无栈协程*
17.4 小结
第 18 章 探索 C++ 的工具
18.1 编译器
18.1.1 主流编译器简介
18.1.2 优化选项
18.1.3 告警选项
18.1.4 编译器的其他重要功能
18.1.5 标准库的调试模式
18.2 Clang 系列工具
18.2.1 Clang-Format
18.2.2 Clang-Tidy
18.2.3 clangd
18.3 运行期检查工具
18.3.1 valgrind
18.3.2 AddressSanitizer(ASan)
18.3.3 UndefinedBehaviorSanitizer(UBSan)
18.3.4 ThreadSanitizer(TSan)
18.4 Compiler Explorer
18.5 小结
结束语
推荐阅读材料
C 语言
STL 和泛型编程
C++ 标准库
并发编程
最佳实践
历史和演化
看完了
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜