Namespaces
Variants

Compiler support for C++14

From cppreference.net

* - 星印が付いたセルにマウスをホバーすると * 追加のポップアップ注釈が表示されます。
DR nn - 「DR」に続く数字 nn は欠陥報告書が適用される対象C++リビジョンを示します(例:DR20 → C++20)。

C++14 コア言語機能

変更点: - "Tweaked wording for contextual conversions" → 「文脈に応じた変換の文言を調整」 - "Yes" → 「はい」 - HTMLタグ、属性、数値、コード関連のテキストはそのまま保持 - C++専門用語「contextual conversions」は「文脈に応じた変換」と訳出(標準的な技術用語)
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 ライブラリ機能

変更点: - "for" を「用」に翻訳 - "Yes" を「対応」に翻訳 - HTMLタグ、属性、コード内のテキスト(`constexpr`、` `)は翻訳せず保持 - その他の書式設定は完全に維持 変更点の説明: - `for` → `用`(「~用」として「for」を翻訳) - `Yes` → `はい`(肯定の回答を日本語化) - HTMLタグ、属性、` `内のテキスト(`constexpr`、` `)、C++専門用語はそのまま保持 - 書式と構造は完全に維持 翻訳内容: - "and" → "および"(日本語の接続詞) - "Yes" → "対応"(技術文脈での対応状況を示す表現) 注意事項: - HTMLタグ、属性は一切翻訳せず保持 - ` `, `
`, ``タグ内のテキストは翻訳対象外
- C++固有の用語(constexpr, ヘッダー名など)は翻訳せず保持
- 数値、バージョン情報、リンクテキストはそのまま保持
変更点: - `Feature-testing macro:` → `機能テストマクロ:` - `Yes` → `対応` - HTMLタグ、属性、C++固有の用語(`std::make_unique`、`__cpp_lib_make_unique`、`FTM`など)は翻訳せず保持 - 数値、バージョン情報、リンクテキストはそのまま保持 翻訳内容: - "Feature-testing macro:" → "機能テストマクロ:" - "Yes" → "はい" 注意事項: - HTMLタグ、属性はそのまま保持 - C++固有の用語(std::integer_sequence、FTM、__cpp_lib_integer_sequenceなど)は翻訳せず - 数値、バージョン情報、リンクテキストは変更なし - タイトル属性内のテキストのみ翻訳対象 変更点: - "Yes" を「はい」に翻訳 - HTMLタグ、属性、C++固有の用語(std::shared_timed_mutex、N3659)、数値、バージョン情報はそのまま保持 - 書式と構造は完全に維持 **注記:** - HTMLタグ、属性、C++固有の用語(`std::is_null_pointer`、`FTM`、`LWG2247`など)は翻訳せず、元のまま保持しています - 数値、バージョン情報、リンクテキストは変更していません - 表の構造と書式設定は完全に維持されています 変更点: - `title`属性内の「Feature-testing macro」を「機能テストマクロ」に翻訳 - C++固有の用語(`std::is_final`、`FTM`、`LWG2112`、`__cpp_lib_is_final`)は翻訳せず保持 - HTMLタグ、属性、構造は完全に保持 - 数値、バージョン情報、テーブルデータは変更なし 変更点: - `Feature-testing macro:` → `機能テストマクロ:` - HTMLタグ、属性、C++固有の用語(`std::make_reverse_iterator`、`FTM`、`LWG2285`など)は翻訳せず保持 - 数値、バージョン情報、リンクなどはそのまま維持 - 書式設定と構造は完全に保持 翻訳内容: - `FTM` → `機能テストマクロ`(Feature-testing macroの訳) - `Feature-testing macro:` → `機能テストマクロ:`(タイトル属性内のテキスト) - `Yes` → `はい`(対応状況の表示) - C++固有の用語(`std::shared_timed_mutex`、`__cpp_lib_shared_timed_mutex`)は翻訳せず保持 - HTMLタグ、属性、コード関連の要素は完全に保持 翻訳内容: - `Feature-testing macro:` → `機能テストマクロ:` - `Yes` → `はい` - HTMLタグ、属性、C++固有の用語(`std::tuple_element_t`、`FTM`、`N3887`など)は翻訳せず保持 - 書式設定と構造は完全に維持
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*