C++14

来自cppreference.com
< cpp


C++14 是主要版本 C++11 之后的一个次要版本,主要是一些小的改进和缺陷修复。C++14 的采纳于 2014 年 8 月 18 日公布,于 2014 年 12 月 15 日发布。

在 C++14 被采纳之前,人们有时会使用“C++1y”以表示它会在 21 世纪 10 年代发布。

目录

[编辑] 新语言功能特性

[编辑] 新库功能特性

[编辑]缺陷报告

C++14 中修正的缺陷报告(核心 276 个,库 158 个)

[编辑]编译器支持

[编辑]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.9 3.4 18.0*4.9 16.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.15
二进制字面量  (FTM)*N34724.3*
4.9
2.9 19.0 (2015)*4.10 11.0 2015 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.14
decltype(auto),普通函数的返回类型推导  (FTM)*  (FTM)*N36384.8 (部分)*
4.9
3.3 (部分)*
3.4
19.0 (2015)*4.9 15.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.15
带初始化/泛化的 lambda 捕获 (init-capture)  (FTM)*N36484.5 (部分)
4.9
3.4 19.0 (2015)*4.10 15.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 16.1.1*5.15
泛型 lambda 表达式  (FTM)*N36494.9 3.4 19.0 (2015)*4.10 16.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.15
变量模板  (FTM)*N36515 3.4 19.0 (Update 2)*4.11 17.0 17.4 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.15
扩展的 constexpr  (FTM)*N36525 3.4 19.10*4.11 17.0 17.4 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.15
默认成员初始化器的聚合体  (FTM)*N36535 3.3 19.10*4.9 16.0 16.1 9.0 8.6  10.3 17.1.0 1.1.0 16.1.1*5.14
忽略/扩展内存分配N3664不适用3.4 不适用不适用不适用17.4 不适用8.6  10.3 17.1.0 1.1.0 不适用不适用
[[deprecated]] 属性 N37604.9 3.4 19.0 (2015)*4.9 15.0*
16.0
16.1 9.0 8.6  10.3 17.1.0 1.1.0 13.1.2*5.14
具大小解分配  (FTM)*N37785 3.4 19.0 (2015)*4.10.1 17.0 16.1 8.6  10.3 17.1.0 1.1.0 16.1.1*5.14
单引号作为数位分隔符N37814.9 3.4 19.0 (2015)*4.10 16.0 2015 9.0 8.6  10.3 17.1.0 1.1.0 13.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>constexprN33025 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
通透的运算符函数对象  (FTM)*N34214.9 3.4 18.0*是  17.1.0 5.15 10.3
std::result_ofSFINAE  (FTM)*N34625 19.0 (Update 2)*是  17.1.0 5.15 10.3
<chrono>constexprN34695 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
<array>constexprN34705 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
<initializer_list><utility><tuple>constexprN34715 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
改进的 std::integral_constant  (FTM)*N35455 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
<chrono><string>用户定义字面量  (FTM)*  (FTM)*N36425 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
空向前迭代器  (FTM)*N36445 (部分)
10
3.4 19.0 (2015)*是  17.1.0 5.15 10.3
std::quoted  (FTM)*N36545 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
std::make_unique  (FTM)*N36564.9 3.4 18.0*是  17.1.0 5.15 10.3
异质关联查找  (FTM)*N36575 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
std::integer_sequence  (FTM)*N36585 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
std::shared_timed_mutexN36595 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
std::exchange  (FTM)*N36685 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
修正无 constconstexpr 成员函数 N36695 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
按类型索引元组:std::get<T>()  (FTM)*N36705 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
双范围的 std::equalstd::is_permutationstd::mismatch  (FTM)*N36715 3.4 19.0 (2015)*是  17.1.0 5.15 10.3
变换特征的别名模板  (FTM)*N36554.9 3.4 18.0*是 
std::complex 的用户定义字面量  (FTM)*N37794.9 3.4 19.0 (2015)*是 
DR11: std::is_null_pointer  (FTM)*LWG22474.9 3.4 19.0 (2015)*  
std::is_final  (FTM)*LWG21125 3.4 19.0 (2015)*  
std::make_reverse_iterator  (FTM)*LWG22855 3.4 19.0 (2015)*  
std::shared_timed_mutex  (FTM)*N38914.9 3.5 19.0 (2015)*是 
std::tuple_element_t  (FTM)*N38874.10 3.5 19.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*

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

[编辑]外部链接

1. C++14 - Wikipedia
2. 可运行的 c++14 示例
close