Compiler support for C++14
From cppreference.net
<
cpp
|
compiler support
*
- 星印が付いたセルにマウスをホバーすると
*
追加のポップアップ注釈が表示されます。
DR
nn
- 「DR」に続く数字
nn
は欠陥報告書が適用される対象C++リビジョンを示します(例:DR20 → C++20)。
C++14 コア言語機能
|
C++14 機能
|
提案文書
|
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
|
IBM Open XL C++ for z/OS
|
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 | |
| 初期化/一般化ラムダキャプチャ (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 | |
| ジェネリックラムダ式 ( 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 (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 ) * | 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 | |
| メモリ割り当ての省略/拡張 memory allocations | N3664 | N/A | 3.4 | N/A | Yes | 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 | |
| サイズ指定付き解放 ( 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 機能 |
論文 |
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*
|
|
|---|---|---|---|---|---|---|---|---|---|
| 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 (Update 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 for <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 | |
| ユーザー定義リテラル for <chrono> and <string> ( FTM ) * ( FTM ) * | N3642 | 5 | 3.4 | 19.0 (2015)* | Yes | 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 ( 機能テストマクロ ) * | 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 | |
| constexpr メンバー関数の const 修飾子なしでの修正 | N3669 | 5 | 3.4 | 19.0 (2015)* | はい | 17.1.0 | 5.15 | 10.3 | |
| 型によるタプルのアドレッシング: 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 | |
| 変換特性のための エイリアステンプレート ( 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 ( 機能テストマクロ ) * | N3891 | 4.9 | 3.5 | 19.0 (2015)* | はい | ||||
| std::tuple_element_t ( FTM ) * | N3887 | 4.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*
|