本书是一本 C++进阶图书,全书分为 42 章,深入探讨了从 C++11 到 C++20 引入的核心特性。书中不仅通过大量的实例代码讲解特性的概念和语法,还从编译器的角度分析特性的实现原理,书中还穿插了 C++标准委员会制定特性标准时的一些小故事,帮助读者知其然也知其所以然。
目录
- 内容提要
- 推荐序
- 前言
- 第 1 章 新基础类型(C++11~C++20)
- 第 2 章 内联和嵌套命名空间(C++11~C++20)
- 第 3 章 auto 占位符(C++11~C++17)
- 第 4 章 decltype 说明符(C++11~C++17)
- 第 5 章 函数返回类型后置(C++11)
- 第 6 章 右值引用(C++11 C++17 C++20)
- 第 7 章 lambda 表达式(C++11~C++20)
- 第 8 章 非静态数据成员默认初始化(C++11 C++20)
- 第 9 章 列表初始化(C++11 C++20)
- 第 10 章 默认和删除函数(C++11)
- 第 11 章 非受限联合类型(C++11)
- 第 12 章 委托构造函数(C++11)
- 第 13 章 继承构造函数(C++11)
- 第 14 章 强枚举类型(C++11 C++17 C++20)
- 第 15 章 扩展的聚合类型(C++17 C++20)
- 第 16 章 override 和 final 说明符(C++11)
- 第 17 章 基于范围的 for 循环(C++11 C++17 C++20)
- 第 18 章 支持初始化语句的 if 和 switch(C++17)
- 第 19 章 static_assert 声明
- 第 20 章 结构化绑定(C++17 C++20)
- 第 21 章 noexcept 关键字(C++11 C++17 C++20)
- 第 22 章 类型别名和别名模板(C++11 C++14)
- 第 23 章 指针字面量 nullptr(C++11)
- 第 24 章 三向比较(C++20)
- 第 25 章 线程局部存储(C++11)
- 第 26 章 扩展的 inline 说明符(C++17)
- 第 27 章 常量表达式(C++11~C++20)
- 27.1 常量的不确定性
- 27.2 constexpr 值
- 27.3 constexpr 函数
- 27.4 constexpr 构造函数
- 27.5 对浮点的支持
- 27.6 C++14 标准对常量表达式函数的增强
- 27.7 constexpr lambdas 表达式
- 27.8 constexpr 的内联属性
- 27.9 if constexpr
- 27.10 允许 constexpr 虚函数
- 27.11 允许在 constexpr 函数中出现 Try-catch
- 27.12 允许在 constexpr 中进行平凡的默认初始化
- 27.13 允许在 constexpr 中更改联合类型的有效成员
- 27.14 使用 consteval 声明立即函数
- 27.15 使用 constinit 检查常量初始化
- 27.16 判断常量求值环境
- 27.17 总结
- 第 28 章 确定的表达式求值顺序(C++17)
- 第 29 章 字面量优化(C++11~C++17)
- 第 30 章 alignas 和 alignof(C++11 C++17)
- 第 31 章 属性说明符和标准属性(C++11~C++20)
- 第 32 章 新增预处理器和宏(C++17 C++20)
- 第 33 章 协程(C++20)
- 第 34 章 基础特性的其他优化(C++11~C++20)
- 34.1 显式自定义类型转换运算符(C++11)
- 34.2 关于 std::launder()(C++17)
- 34.3 返回值优化(C++11~C++17)
- 34.4 允许按值进行默认比较(C++20)
- 34.5 支持 new 表达式推导数组长度(C++20)
- 34.6 允许数组转换为未知范围的数组(C++20)
- 34.7 在 delete 运算符函数中析构对象(C++20)
- 34.8 调用伪析构函数结束对象声明周期(C++20)
- 34.9 修复 const 和默认复制构造函数不匹配造成无法编译的问题(C++20)
- 34.10 不推荐使用 volatile 的情况(C++20)
- 34.11 不推荐在下标表达式中使用逗号运算符(C++20)
- 34.12 模块(C++20)
- 34.13 总结
- 第 35 章 可变参数模板(C++11 C++17 C++20)
- 第 36 章 typename 优化(C++17 C++20)
- 第 37 章 模板参数优化(C++11 C++17 C++20)
- 第 38 章 类模板的模板实参推导(C++17 C++20)
- 第 39 章 用户自定义推导指引(C++17)
- 第 40 章 SFINAE(C++11)
- 第 41 章 概念和约束(C++20)
- 第 42 章 模板特性的其他优化(C++11 C++14)
- 附录 特性章节对照表
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论