C++26 编译器支持 - cppreference.com

C++26 编译器支持

来自cppreference.com


* - 在版本号上停留可以查看注记 * 查看其他注记
DRnn - 在 "DR" 后的数字 nn 表示应用该缺陷报告的目标 C++ 修订版本,例如 DR20 → C++20。

C++26 核心语言功能特性

C++26 功能特性

 
提案

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
DR98: 从词法分析中删除未定义行为 P2621R3 3.3 16.0.0*
DR98: 使不可编码的字符串文本格式非良构 P1854R4 14 14 16.0.0*
不求值字符串 P2361R6 14 17 (部分)*
18
16.0.0*
@$,和 ` 添加至基本字符集 P2558R2 15 16.0.0*
constexpr 的从 void* 转换  (FTM)* P2738R1 14 17
DR20: 使标准属性可忽略 P2552R3 15
DR11: 花括号初始化的静态存储 P2752R3 14
用户生成的 static_assert 消息  (FTM)* P2741R3 14 17
没有名字的占位符变量  (FTM)* P2169R4 14 18
包索引  (FTM)* P2662R3 15 19
删除枚举被弃用的算术转换 P2864R2 14 18
DR11/20:模板形参初始化 P2308R1 9 18
不允许绑定返回的引用到临时量 P2748R5 14 19
结构化绑定的属性  (FTM)* P0609R3 15 19
未初始化读取的错误行为,[[indeterminate]] 属性 P2795R5
= delete("reason");  (FTM)* P2573R2 15 19
可变参数友元  (FTM)* P2893R3 15 20
DR98:澄清聚合初始化中的括号消除规则 P3106R1 17
DR20:不允许模块声明为宏 P3034R1 15
DR11:平凡的无限循环不是未定义行为 P2809R3 14 19
constexpr 布置 new  (FTM)*  (FTM)* P2747R2 15 20
结构化绑定声明作为条件  (FTM)* P0963R3 15 6 (部分)*
涉及折叠表达式约束定序  (FTM)* P2963R3 19
删除指向不完整类型的指针应当非良构 P3144R2 15 19 6.7
结构化绑定可以引入  (FTM)* P1061R10 21
constexpr 结构化绑定constexpr 变量的引用 P2686R5 6.7
constexpr 异常  (FTM)* P3068R6
牛津可变逗号 P3176R1 15 20
移除已弃用的数组比较 P2865R6 15 20
#embed  (FTM)* P1967R14 15 19*
概念和可变模板模板参数  (FTM)* P2841R7
可平凡重定位性  (FTM)* P2786R13
平凡联合体  (FTM)* P3074R7
可观测检查点 P1494R5
契约  (FTM)* P2900R14
 

C++26 功能特性
 

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

C++26 库功能特性