C++14
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 にて全ての機能が実装された。
- Microsoft Visual C++ - VC12 (Visual Studio 2013) および VC14 (Visual Studio 2015) 時点で、C++11 の全機能も実装完了していなかったが、C++14 の一部機能の実装が開始された 。VC14.1 (Visual Studio 2017) でN3664を除くC++14の追加機能をすべてサポートした。
- Intel C++ Compiler - バージョン15時点で、一部機能が実装されている。バージョン17でN3664を除く全機能をサポートした。