Namespaces
Variants

C++14

ja.cppreference.net から
< cpp

C++14 はメジャーバージョン C++11 のマイナーバージョンであり、主にマイナーな改善と欠陥修正を特徴とします。承認は 2014 年 8 月 18 日に発表され、2014 年 12 月 15 日にリリースされました。

承認前は、2010 年代のリリースを示すために C++1y が使用されることがありました。

新しい言語機能

新しいライブラリ機能

  • std::make_unique
  • std::shared_timed_mutex と std::shared_lock
  • std::integer_sequence
  • std::exchange
  • std::quoted
  • および以下のような既存のライブラリ機能への多くの小さな改善
    • 一部のアルゴリズムの 2 範囲オーバーロード
    • 型特性の型エイリアス版
    • basic_string、duration、complex
    • などのユーザー定義リテラル

欠陥報告

C++14 で修正された欠陥報告 (コア 276、ライブラリ 158)

コンパイラサポート

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
2 進リテラル  (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
メモリ確保 の省略/拡張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
サイズ付きデアロケーション  (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++ (旧 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<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
メンバ関数を 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  (FTM)* 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*

* - 星印の付いたセルにマウスを合わせると追加のポップアップノートが表示されます。* を参照してください。
DRnn - "DR" の後の番号 nn は欠陥報告が適用されるターゲット C++ リビジョンを示します。例: DR20 → C++20。

外部リンク

1.  C++14 - Wikipedia
2.  C++14 の実例