C++17 的编译器支持

来自cppreference.com


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

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

C++17 功能特性

 
提案

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
 
Embarcadero C++ Builder
IBM Open XL C++ for AIX
DR11:直接列表初始化的新 auto 规则 N3922 5 3.8 19.0 (2015)* 4.10.1 17.0 17.7 11.0 11.0  10.3 17.1.0
模板模板形参中的 typename N4051 5 3.5 19.0 (2015)* 4.10.1 17.0 17.7 是* 11.0  10.3 17.1.0
移除三标符 N4086 5 3.5 16.0* 5.0 19.1 11.0 11.0  10.3 17.1.0
嵌套命名空间定义 N4230 6 3.6 19.0 (Update 3)* 4.12 17.0 17.7 11.0 11.0  10.3 17.1.0
无消息的 static_assert  (FTM)* N3928 6 2.5 19.10* 4.12 18.0 17.7 11.0 11.0  10.3 17.1.0
命名空间和枚举项的属性  (FTM)*  (FTM)* N4266 4.9 (部分)*
6
3.6 19.0 (2015)* 4.11 17.0 17.7 11.0 11.0  10.3 17.1.0
u8 字符字面量 N4267 6 3.6 19.0 (2015)* 4.11 17.0 17.7 11.0 11.0  10.3 17.1.0
允许所有常量模板实参的常量求值  (FTM)* N4268 6 3.6 19.12* 5.0 19.0.1 19.1 11.0 11.0  10.3 17.1.0
一元折叠表达式和空形参包 P0036R0 6 3.9 19.12* 4.14 19.0 19.1 11.0 11.0  10.3 17.1.0
移除 register 关键词的已弃用用法 P0001R1 7 3.8 19.11* 4.13 18.0 17.7 11.0 11.0  10.3 17.1.0
移除已弃用的 operator++(bool) P0002R1 7 3.8 19.11* 4.13 18.0 17.7 11.0 11.0  10.3 17.1.0
令异常说明为类型系统的一部分  (