C++20 简介

何谓 C++20

2020 年 2 月,国际标准化组织(ISO)正式通过了 C++ 的新版本——C++20。C++20 是自 C++11 以来对语言改动最大的一次更新。

C++20 的新增改进

为方便查阅,下面列出 C++20 引入的主要变更。此列表并非穷尽,仅用于凸显关键亮点:

  • 通过 auto 形参实现的简写函数模板(参见 课程11.8《带多种模板类型的函数模板》)
  • Chrono 扩展:日历与时区支持(暂无教程)
  • Concepts(概念),用于对模板形参施加约束(暂无教程)
  • constexpr dynamic_casttypeid(暂无教程)
  • constexpr 虚函数(暂无教程)
  • constexpr try-catch(暂无教程)
  • constinit 关键字,用于断言变量为静态初始化(暂无教程)
  • 协程(Coroutines)(暂无教程)
  • 指定初始化器(参见《结构体聚合初始化》章节)
  • 使用 consteval 关键字的立即函数(参见《constexpr 函数》章节)
  • 模块(Modules),作为 #include 的替代方案(暂无教程)
  • 范围(Ranges)(暂无教程)
  • std::erase(暂无教程)
  • 用于数组的 std::make_shared(暂无教程)
  • std::map::contains()(暂无教程)
  • std::span(暂无教程)
  • 字符串格式化库(暂无教程,参考 Formatting library (since C++20)
  • 字符串字面量作为模板实参(暂无教程)
  • 使用三路比较运算符 <=>(spaceship operator)的三路比较(暂无教程)
  • 使用作用域枚举(参见《作用域枚举(enum class)》章节)
  • 视图(Views)(暂无教程)

关注公众号,回复"cpp-tutorial"

可领取价值199元的C++学习资料

公众号二维码

扫描上方二维码或搜索"cpp-tutorial"