C++14
表示
C++14 は、プログラミング言語 C++ のISO標準 ISO/IEC 14882:2014 の略称である。C++11 の後継であり、マイナーアップデートの位置付けとなっている。C++11 が2009年中の標準化を目指していたため C++0x と呼んでいたのを受けて、C++14 は制定中は C++1y という仮称で呼ばれていた。
委員会草案 N3690[1] が2013年5月15日に発表され、作業草案 N3936 が2014年3月2日に発表され、投票が2014年8月15日までに行われ、その結果が2014年8月18日に発表され承認され[2]、2014年12月15日に出版された[3]。
追加・変更
[編集]C++11 から下記の機能が追加になった。
- ある種の C++ の文脈上の変換の微調整
- 二進数リテラル
- 通常関数の戻り値の型推論
- 汎用ラムダキャプチャ
- ジェネリックラムダ式
- 変数テンプレート
- constexpr 関数の制限緩和
- メンバー初期化と集成体
- メモリ割り当ての明確化
- メモリ解放時のサイズ指定
- deprecated 属性
- 数値区切り
実装状況
[編集]GCC や Clang では -std=c++14
を付けることによりコンパイル可能。
- GCC - 5.1 において、N3664を除くほぼ全ての機能が実験的に実装されている[4] [5]。
- Clang - 3.4 にて全ての機能が実装された[6]。
- Microsoft Visual C++ - VC12 (Visual Studio 2013) および VC14 (Visual Studio 2015) 時点で、C++11 の全機能も実装完了していなかったが、C++14 の一部機能の実装が開始された[7] [8]。VC14.1 (Visual Studio 2017) でN3664を除くC++14の追加機能をすべてサポートした[9]。
- Intel C++ Compiler - バージョン15時点で、一部機能が実装されている[10]。バージョン17でN3664を除く全機能をサポートした。
関連項目
[編集]参照
[編集]- ^ “Committee Draft, Standard for Programming Language C++” (PDF). ISO (2013年5月15日). 2014年11月4日閲覧。
- ^ Sutter, Herb (2014年8月18日). “We have C++14!”. 2014年11月4日閲覧。
- ^ “ISO/IEC 14882:2014 -- Information technology -- Programming languages -- C++”. ISO. 2015年2月8日閲覧。
- ^ “C++1y/C++14 Support in GCC - GNU Project - Free Software Foundation (FSF)”. Free Software Foundation, Inc. (2015年11月14日). 2015年12月2日閲覧。
- ^ GCC 5系初のリリースとなる「GCC 5.1」登場 | OSDN Magazine
- ^ Clang - C++1z, C++14, C++11 and C++98 Status
- ^ 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
- ^ Visual Studio 2017 15.0 リリース ノート | Microsoft Docs
- ^ C++14 Features Supported by Intel® C++ Compiler | Intel® Developer Zone