C++14 は、プログラミング言語 C++ のISO標準 ISO/IEC 14882:2014 の略称である。C++11 の後継であり、マイナーアップデートの位置付けとなっている。C++11 が2009年中の標準化を目指していたため C++0x と呼んでいたのを受けて、C++14 は制定中は C++1y という仮称で呼ばれていた。
委員会草案 N3690 が2013年5月15日に発表され、作業草案 N3936 が2014年3月2日に発表され、投票が2014年8月15日までに行われ、その結果が2014年8月18日に発表され承認され、2014年12月15日に出版された。
追加・変更 C++11 から下記の機能が追加になった。 ある種の C++ の文脈上の変換の微調整 二進数リテラル 通常関数の戻り値の型推論 汎用ラムダキャプチャ ジェネリックラムダ式 変数テンプレート constexpr 関数の制限緩和 メンバー初期化と集成体 メモリ割り当ての明確化 メモリ解放時のサイズ指定 deprecated 属性 数値区切り
実装状況 GCC や Clang では -std=c++14 を付けることによりコンパイル可能。 GCC - 5.1 において、N3664を除くほぼ全ての機能が実験的に実装されている。
Clang - 3.4 にて全ての機能が実装されたClang - C++1z, C++14, C++11 and C++98 Status。 Microsoft Visual C++ - VC12 (Visual Studio 2013) および VC14 (Visual Studio 2015) 時点で、C++11 の全機能も実装完了していなかったが、C++14 の一部機能の実装が開始されたC++11/14/17 Features In VS 2015 Preview - Visual C++ Team Blog - Site Home - MSDN Blogs Support For C++11-14-17 Features (Modern C++) | Microsoft Docs。VC14.1 (Visual Studio 2017) でN3664を除くC++14の追加機能をすべてサポートしたVisual Studio 2017 15.0 リリース ノート | Microsoft Docs。 Intel C++ Compiler - バージョン15時点で、一部機能が実装されているC++14 Features Supported by Intel® C++ Compiler | Intel® Developer Zone。バージョン17でN3664を除く全機能をサポートした。
関連項目 C++ Technical Report 1 C++11
参照
外部リンク C++14 作業草案 N3797