C++14 的编译器支持

来自cppreference.com


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

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

C++14 功能特性

 
提案

 
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
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++
按语境转换的遣词调整N33234.93.418.0*4.916.016.19.08.6 10.317.1.01.1.013.1.2*5.15
二进制字面量  (FTM)*N34724.3*
4.9
2.919.0 (2015)*4.1011.020159.08.6 10.317.1.01.1.013.1.2*5.14
decltype(auto),普通函数的返回类型推导  (FTM)*  (FTM)*N36384.8 (部分)*
4.9
3.3 (部分)*
3.4
19.0 (2015)*4.915.016.19.08.6 10.317.1.01.1.013.1.2*5.15
带初始化/泛化的 lambda 捕获 (init-capture)  (FTM)*N36484.5 (部分)
4.9
3.419.0 (2015)*4.1015.016.19.08.6 10.317.1.01.1.016.1.1*5.15
泛型 lambda 表达式  (FTM)*N36494.93.419.0 (2015)*4.1016.016.19.08.6 10.317.1.01.1.013.1.2*5.15
变量模板  (FTM)*N365153.419.0 (Update 2)*4.1117.017.49.08.6 10.317.1.01.1.013.1.2*5.15
扩展的 constexpr  (FTM)*N365253.419.10*4.1117.017.49.08.6 10.317.1.01.1.013.1.2*5.15
默认成员初始化器的聚合体  (FTM)*N365353.319.10*4.916.016.19.08.6 10.317.1.01.1.016.1.1*5.14
忽略/扩展内存分配N3664不适用3.4不适用不适用不适用17.4不适用8.6 10.317.1.01.1.0不适用不适用
[[deprecated]] 属性N37604.93.419.0 (2015)*4.915.0*
16.0
16.19.08.6 10.317.1.01.1.013.1.2*5.14
具大小解分配  (FTM)*N377853.419.0 (2015)*4.10.117.016.18.6 10.317.1.01.1.016.1.1*5.14
单引号作为数位分隔符N37814.93.419.0 (2015)*4.1016.020159.08.6 10.317.1.01.1.013.1.2*5.14
 

C++14 功能特性
 

提案
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
IBM Open XL C++ for z/OS
IBM XL C++
Sun/Oracle C++

C++14 库功能特性

C++14 功能特性

 
提案

 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
 
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
<complex>constexprN330253.419.0 (2015)*是 17.1.05.1510.3
通透的运算符函数对象  (FTM)*N34214.93.418.0*是 17.1.05.1510.3
std::result_ofSFINAE  (FTM)*N3462519.0 (Update 2)*是 17.1.05.1510.3
<chrono>constexprN346953.419.0 (2015)*是 17.1.05.1510.3
<array>constexprN347053.419.0 (2015)*是 17.1.05.1510.3
<initializer_list><utility><tuple>constexprN347153.419.0 (2015)*是 17.1.05.1510.3
改进的 std::integral_constant  (FTM)*N354553.419.0 (2015)*是 17.1.05.1510.3
<chrono><string>用户定义字面量  (FTM)*  (FTM)*N364253.419.0 (2015)*是 17.1.05.1510.3
空向前迭代器  (FTM)*N36445 (部分)
10
3.419.0 (2015)*是 17.1.05.1510.3
std::quoted  (FTM)*N365453.419.0 (2015)*是 17.1.05.1510.3
std::make_unique  (FTM)*N36564.93.418.0*是 17.1.05.1510.3
异质关联查找  (FTM)*N365753.419.0 (2015)*是 17.1.05.1510.3
std::integer_sequence  (FTM)*N365853.419.0 (2015)*是 17.1.05.1510.3
std::shared_timed_mutexN365953.419.0 (2015)*是 17.1.05.1510.3
std::exchange  (FTM)*N366853.419.0 (2015)*是 17.1.05.1510.3
修正无 constconstexpr 成员函数N366953.419.0 (2015)*是 17.1.05.1510.3
按类型索引元组:std::get<T>()  (FTM)*N367053.419.0 (2015)*是 17.1.05.1510.3
双范围的 std::equalstd::is_permutationstd::mismatch  (FTM)*N367153.419.0 (2015)*是 17.1.05.1510.3
变换特征的别名模板  (FTM)*N36554.93.418.0*是 
std::complex 的用户定义字面量  (FTM)*N37794.93.419.0 (2015)*是 
DR11: std::is_null_pointer  (FTM)*LWG22474.93.419.0 (2015)* 
std::is_final  (FTM)*LWG211253.419.0 (2015)* 
std::make_reverse_iterator  (FTM)*LWG228553.419.0 (2015)* 
std::shared_timed_mutex  (FTM)*N38914.93.519.0 (2015)*是 
std::tuple_element_t  (FTM)*N38874.103.519.0 (2015)*是 
 

C++14 功能特性
 

提案
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
 
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*