ISO/IEC 14882:2011
読み:アイエスオウ-アイイースィー-いちよんはちはちに-にーゼロいちいち
外語:ISO/IEC 14882:2011

 ISO規格によるC++(ISO C++)であるISO/IEC 14882の第三版。俗に「C++11」と呼ばれる。仕様策定中は「C++0x」と呼ばれていた。
目次

概要
 元々は2009(平成21)年までに標準化することを目標としていたため0xとした。しかし策定作業は紛糾・難航し、2009(平成21)年には間に合わなかった。それでも、仮称はそのまま維持された。
 C++0xでは、Technical Report 1やBoost C++ライブラリに含まれている機能の導入が議論されていた。

特徴

コンセプト

拡張
 主な拡張は次の通り(順不同)。

新予約語
 主な新しい予約語は次の通り。

仕様変更の予約語
 仕様変更や拡張が予定されている、既存の予約語は次の通り。

TR1/Boostとの差
 標準仕様との名前重複を避けるため、Technical Report 1(TR1)は名前空間にstd::tr1、Boostは名前空間にboostを使う。
 C++11は、これらの機能を導入する際、名前空間はstdとする。

実装

Microsoft Visual C++
 Visual C++ 2010時点で、C++11の主要機能のうち「ラムダ式」「auto」「右辺値参照」「static_assert」「nullptr」「decltype」に対応している。
 また、実装は完全ではないが、<unordered_map> <random> <tuple> <regex> などの新しいヘッダーが追加されている。

GCC
 GCCでは、GCC 4.3からC++0x/C++11の対応を徐々に開始した。
 GCC 4.8.x系列で、ほぼ全機能が実装されているようである。

clang/LLVM
 clang/LLVM 2.9でC++0xに完全対応し、clang/LLVM 3.3でC++11の全機能に完全対応した。

再検索