B-5 C++23 简介
什么是C++23?
2023年2月,国际标准化组织(International Organization for Standardization,简称ISO)批准了C++的新版本,即C++23。
C++23的新改进
以下是C++23新增的主要变更列表,供您参考。请注意,此列表并非详尽无遗,而是旨在突出一些值得关注的关键变更。
- 常量表达式
(例如 std::abs())和 (6.7——关系运算符与浮点数比较)。 - 常量表达式 std::unique_ptr(尚未讲解)。
- 显式 this 参数(尚未讲解)。
- 固定尺寸浮点类型(通过
实现) (暂无相关课程)。 - 格式化打印函数 std::print 和 std::println(暂无相关课程)。
- std::size_t 及其对应有符号类型的字面量后缀(5.2 -- 字面量)。
- 多维下标运算符[](见第 17.13节——多维 std::array)。
- 多维跨度 std::mdspan(17.13节——多维 std::array)。
- 预处理指令 #elifdef 和 #elifndef(尚未讲解)。
- 预处理指令 #warning(尚未讲解)。
- 栈跟踪库(尚未讲解)
- 标准库模块 std(及 std.compat)(尚未讲解)。
- 静态构造函数 operator() 和下标运算符 operator[](暂无章节)。
- std::bitset 现已完全支持 constexpr。
- std::expected(暂无章节)
- std::ranges 算法 starts_with、ends_with、contains(暂无章节)
- std::string::contains 和 std::string_view::contains (暂无相关课程)
- std::to_underlying 用于获取枚举的底层类型(13.6节——作用域枚举(枚举类))。
- std::unreachable()(暂无相关课程)。
- 在常量表达式中使用未知指针和引用(17.2节——std::array的长度与索引)。

浙公网安备 33010602011771号