Namespaces
Variants

C++29 编译器支持

来自 zh.cppreference.net

* - 将鼠标悬停在标有星号 * 的单元格上可查看附加弹出注释。
DRnn - “DR”后的数字nn表示缺陷报告所针对的目标C++修订版本,例如DR20 → C++20。

C++29 核心语言特性

C++29 特性

 
提案

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
#embed 偏移参数  (FTM)* P3540R3
合约 用于 虚函数  (FTM)* P3097R3
包索引 用于模板  (FTM)* P3670R4
指定初始化器 用于基类  (FTM)* P2287R6
具有抛出异常规范的解分配函数为不良形式 P3424R2
条件 noexcept 说明符在 复合要求  (FTM)* P3822R2
默认后缀递增和递减运算符函数 P3668R4
对默认赋值运算符函数添加限制 P2953R5
DR26:仅 consteval 值  (FTM)* P4101R1
DR23:允许虚构和缩写 在 具名通用字符转义 P3733R1
DR20:移除互斥性 对于 协程 promise 返回函数  (FTM)* P3950R1
DR:根据新的 Unicode 建议调整标识符 P3658R1
DR: 显式 lambda 捕获 按词法顺序声明和初始化 P3847R1 3.1
DR:允许模板的 C 语言链接 P2243R0
DR:澄清浮点溢出的行为 P3899R3
DR:非确定性指针来源 P2434R5
DR:解决原子和 volatile 访问的指针生命周期结束清零 P2414R12
DR:定义无效指针的加载和存储操作 P3347R6
 

C++29 特性
 

提案
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray

C++29 库特性

C++29 特性

 
提案

 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
更好的 map 容器查找函数  (FTM)* P3091R6
指针标记  (FTM)* P3125R6
线程属性  (FTM)* P2019R9
危险指针批次  (FTM)* P3428R4
位排列  (FTM)*  (FTM)* P3104R6
P3772R2
std::shlstd::shr  (FTM)*  (FTM)* P3793R2
std::mdspan 复制和填充操作  (FTM)* P3242R4
std::simd::iota  (FTM)* P3319R6
std::expected::has_error()  (FTM)* P3798R1
view_interface::at()  (FTM)* P3052R2
std::formatter<std::error_code> P3395R6
修复默认浮点表示在 std::to_chars  (FTM)* P3505R4
要求 std::intptr_tstd::uintptr_t P3248R5
弃用 I/O 流中的有符号字符类型 P3154R3
DR26:恢复字符串字面量支持在 std::constant_wrapper  (FTM)* P4206R0 17
 

C++29 特性
 

提案
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*