C++20 的编译器支持

来自cppreference.com


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

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

C++20 功能特性

 
提案

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
允许 lambda 捕获 [=, this] P0409R2 8 6 19.22* 10.0.0* 5.1 2021.1 20.7 12.0 11.0
__VA_OPT__ P0306R4
P1042R1
8 (部分)*
10 (部分)*
12
9 19.25* 11.0.3* 5.1 2021.1 20.7 12.0 11.0
指派初始化器  (FTM)* P0329R4 4.7 (部分)*
8
3.0 (部分)*
10
19.21* (部分)* 5.1 2021.1 20.7 12.0 11.0
泛型 lambda 的模板形参列表  (FTM)* P0428R2 8 9 19.22* 11.0.0* 5.1 2021.1 20.7 12.0 11.0
位域的默认成员初始化器 P0683R1 8 6 19.25* 10.0.0* 5.1 2021.1 20.7 12.0 11.0
类模板实参推导中的 intializer_list 构造函数 P0702R1 8 6 19.14* 5.0 2021.1 20.7 12.0 11.0
const& 限定的成员指针 P0704R1 8 6 19.0 (2015)* 10.0.0* 5.1 2021.1 20.7 12.0 11.0
概念  (FTM)* P0734R0 5*
10
10 19.23* (部分)*
19.30*
12.0.0* (部分) 6.1 2023.1* 20.11 12.0 11.0
不求值语境中的 lambda P0315R4 9 13 (部分)*
14 (部分)*
17
19.28 (16.8)* 13.1.6* (部分) 6.2 2023.1 (部分)
2024.0
20.7 12.0
三路比较运算符  (FTM)* P0515R3 10 8 (部分)
10
19.20* 12.0.0* 5.1 2021.1 20.7 12.0 11.0
DR11:简化隐式 lambda 捕获 P0588R1 8 19.24* 5.1 2021.1 20.7 12.0
基于范围的 for 的初始化语句 P0614R1 9 8 19.25* 11.0.0* 6.0 2021.7 20.11 12.0 11.0
可默认构造与可赋值的无状态 lambda