C++20 是什么?
2020 年 2 月,ISO(国际标准化组织)批准了一个新的 C++ 版本,名为 C++20。C++20 包含了自 C++11 以来对语言最大的改动。
C++20 中的新改进
您可能感兴趣,以下是 C++20 添加的主要改动列表。请注意,此列表并非包罗万象,而是旨在突出一些值得关注的关键改动。
- 通过 auto 参数的缩写函数模板 (11.8 -- 具有多个模板类型的函数模板)
- 用于日历和时区支持的 Chrono 扩展(暂无教程)
- 概念 (Concepts),允许您对模板参数施加约束(暂无教程)
- Constexpr dynamic_cast 和 typeid(暂无教程)
- Constexpr 虚函数(暂无教程)
- Constexpr try-catch(暂无教程)
- Constinit 关键字,用于断言变量具有静态初始化(暂无教程)
- 协程(暂无教程)
- 指定初始化器 (13.8 -- 结构体聚合初始化)
- 使用 consteval 关键字的立即函数 (F.1 -- Constexpr 函数)
- 模块 (Modules),#include 的替代品(暂无教程)
- 范围 (Ranges)(暂无教程)
- std::erase(暂无教程)
- 用于数组的 std::make_shared(暂无教程)
- std::map::contains()(暂无教程)
- std::span(暂无教程)
- 字符串格式化库(暂无教程,请参阅 https://cppreference.cn/w/cpp/utility/format)
- 作为模板参数的字符串字面量(暂无教程)
- 使用飞船运算符 <=> 的三路比较(暂无教程)
- 使用作用域枚举 (13.6 -- 作用域枚举 (enum 类))
- 视图 (Views)(暂无教程)