C++14 編譯器支援
出自 cppreference.com
* - 將游標懸停在標有星號 * 的儲存格上可查看額外的彈出說明。
DRnn - "DR" 後的數字 nn 表示該缺陷報告適用的 C++ 修訂版本,例如 DR20 → C++20。
[編輯] 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++ |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 調整語境轉換 (contextual conversions) 的措辭 | 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 | |
| 二進位字面量 (Binary literals) (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 | |
| 變數模板 (Variable templates) (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 | |
| 具備預設成員初始化器的聚合類 (Aggregates) (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_of 與 SFINAE (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 | |
| 修復無 const 的 constexpr 成員函式 | 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::equal, std::is_permutation, std::mismatch (FTM)* | N3671 | 5 | 3.4 | 19.0 (2015)* | 是 | 17.1.0 | 5.15 | 10.3 | |
| 用於型別轉換特徵 (transformation traits) 的別名模板 (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* |