命名空間
變體
動作

C++14

出自 cppreference.com
< cpp

C++14 是繼 C++11 主要版本之後的一個次要版本,主要包含一些小的改進與缺陷修復。其核准於 2014 年 8 月 18 日宣布,並於 2014 年 12 月 15 日正式發布。

在核准之前,有時會使用 C++1y 來表示其將於 2010 年代發布。

目錄

[編輯] 新語言特性

[編輯] 新程式庫特性

[編輯] 缺陷報告

C++14 中修復的缺陷報告(核心 276 項,程式庫 158 項)

[編輯] 編譯器支援

[編輯] C++14 核心語言特性

C++14 特性

 
提案論文 (Papers)

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (原 PGI)*
Nvidia nvcc
Cray
 
Embarcadero C++ Builder
IBM Open XL C++ for AIX
用於 z/OS 的 IBM Open XL C++
IBM XL C++
Sun/Oracle C++
調整語境轉換的措辭 N3323 4.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)* N3472 4.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)* N3638 4.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)* N3648 4.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)* N3649 4.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)* N3651 5 3.4 19.0 (更新 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)* N3652 5 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)* N3653 5 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 不適用 (N/A) 3.4 不適用 (N/A) 不適用 (N/A) 不適用 (N/A) 17.4 不適用 (N/A) 8.6  10.3 17.1.0 1.1.0 不適用 (N/A) 不適用 (N/A)
[[deprecated]] 屬性 N3760 4.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
大小相關的解除配置 (sized deallocation)  (FTM)* N3778 5 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
單引號作為數字分隔符 N3781 4.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 特性
 

提案論文 (Papers)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (原 PGI)*
Nvidia nvcc
Cray
 
Embarcadero C++ Builder
IBM Open XL C++ for AIX
用於 z/OS 的 IBM Open XL C++
IBM XL C++
Sun/Oracle C++

[編輯] C++14 程式庫特性

C++14 特性

 
提案論文 (Papers)

 
GCC libstdc++
Clang libc++
MSVC STL
Apple Clang*
 
IBM Open XL C/C++ for AIX*
Sun/Oracle C++*
Embarcadero C++ Builder*
constexpr 支援 <complex> N3302 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
透明運算子函數物件  (FTM)* N3421 4.9 3.4 18.0* 是  17.1.0 5.15 10.3
std::result_ofSFINAE  (FTM)* N3462 5 19.0 (更新 2)* 是  17.1.0 5.15 10.3
constexpr 支援 <chrono> N3469 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
constexpr 支援 <array> N3470 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
constexpr 支援 <initializer_list><utility><tuple> N3471 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
改進的 std::integral_constant  (FTM)* N3545 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
使用者定義字面量支援 <chrono><string>  (FTM)*  (FTM)* N3642 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
空前向迭代器  (FTM)* N3644 5 (部分)
10
3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
std::quoted  (FTM)* N3654 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
std::make_unique  (FTM)* N3656 4.9 3.4 18.0* 是  17.1.0 5.15 10.3
異質關聯式容器查詢  (FTM)* N3657 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
std::integer_sequence  (FTM)* N3658 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
std::shared_timed_mutex N3659 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
std::exchange  (FTM)* N3668 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
修復沒有 constconstexpr 成員函數 N3669 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
透過型別來定址 tuple:std::get<T>()  (FTM)* N3670 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
雙範圍 std::equalstd::is_permutationstd::mismatch  (FTM)* N3671 5 3.4 19.0 (2015)* 是  17.1.0 5.15 10.3
型別轉換特性的別名模板  (FTM)* N3655 4.9 3.4 18.0* 是 
std::complex 的使用者定義字面量  (FTM)* N3779 4.9 3.4 19.0 (2015)* 是 
DR11:std::is_null_pointer  (FTM)* LWG2247 4.9 3.4 19.0 (2015)*  
std::is_final  (FTM)* LWG2112 5 3.4 19.0 (2015)*  
std::make_reverse_iterator  (FTM)* LWG2285 5 3.4 19.0 (2015)*  
std::shared_timed_mutex  (FTM)* N3891 4.9 3.5 19.0 (2015)* 是 
std::tuple_element_t  (FTM)* N3887 4.10* 3.5 19.0 (2015)* 是 
 

C++14 特性
 

提案論文 (Papers)
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 - 維基百科
2.  可用的 C++14 範例
English Deutsch 日本語 中文(简体) 中文(繁體)