Library feature-test macros (since C++20)
From cppreference.net
以下每个宏在包含头文件 <version> 或表格中对应的任一指定头文件时将被定义。
一个经过强化的实现还会定义以下宏:
| 宏名称 | 值 | 头文件 |
独立
实现 |
|---|---|---|---|
__cpp_lib_hardened_array
|
202502L | <array> | |
__cpp_lib_hardened_basic_string
|
202502L | <string> | |
__cpp_lib_hardened_basic_string_view
|
202502L | <string_view> | |
__cpp_lib_hardened_bitset
|
202502L | <bitset> | |
__cpp_lib_hardened_deque
|
202502L | <deque> | |
__cpp_lib_hardened_expected
|
202502L | <expected> | |
__cpp_lib_hardened_forward_list
|
202502L | <forward_list> | |
__cpp_lib_hardened_inplace_vector
|
202502L | <inplace_vector> | |
__cpp_lib_hardened_list
|
202502L | <list> | |
__cpp_lib_hardened_mdspan
|
202502L | <mdspan> | |
__cpp_lib_hardened_optional
|
202502L | <optional> | |
__cpp_lib_hardened_span
|
202502L | <span> | |
__cpp_lib_hardened_valarray
|
202502L | <valarray> | |
__cpp_lib_hardened_vector
|
202502L | <vector> | |
| 宏总数:14 | |||
注释
“值”列中的每个值都遵循模式: "yyyymmL" ,其中 "yyyy" 表示年份, "mm" 表示对应功能集被纳入标准化的月份。若特定功能的能力后续得到扩展,其初始值可能会有所增加。上表仅包含最新数值(即取自最新的C++语言标准草案)。包含初始值和中间值的完整数值集合可在 此表格 中查看。
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的C++标准。
| DR | 适用范围 | 发布时的行为 | 正确行为 |
|---|---|---|---|
| LWG 4126 |
C++20
C++23 |
部分完全独立环境功能的
特性测试宏未设置为独立环境可用 |
它们也应
在独立环境中可用 |
参见
| 功能测试 (C++20) | 一组预处理器宏,用于测试对应的C++语言和库功能 |
|
C++ 文档
关于
独立实现所需的头文件
|
|
|
C++ 文档
关于
预定义宏符号
|
|