C++0x
C++0x (シープラスプラス・ゼロエックス)は、プログラミング言語 C++ の次期標準として、2010年代発行に向け策定中の改訂案を指す仮の通称である。通称 C++98 あるいは C++03 と呼ばれる現行 C++ 標準(1998年発行、2003年改訂の ISO/IEC 14882:2003)に対し、コア言語への機能追加や標準C++ライブラリの拡張を予定しており、 C++ Technical Report 1 ライブラリの大部分を(おそらくは数学的特殊関数ライブラリを除いて)取り込む方向である。標準化の作業はまだ進行中であり、本項は必ずしも最近の C++0x の状況を反映してはいない。当初、ISO/IEC JTC1/SC22/WG21 C++ 標準化委員会は、2009年中にこの新標準を出す(そして今の仮称 C++0x を C++09 にする)ことを目指していた。そのためには、2008年には ISO 加盟各国の承認を求める準備が出来ていなければならないため、委員会は2006年までに受け入れた提案に集中しそれより新しい提案を無視することを決定したstrousup-brieflook1a。しかしそれでも作業は難航し、結局リリースは2010年以降にずれ込む事となった。仮称は混乱を避けるため C++0x が維持されるが、その代わり 0x の x は16進数を表すこととなったstrousup-cpp0xfaq2^。C++ のようなプログラミング言語は、言語自身の定義を進化させる過程を経る。このことにより必然的に既存のコードとの互換性の問題が発生するものである。実際に C++ での開発過程でもしばしば発生しているが、ビャーネ・ストロヴストルップ (C++ の開発者であり、標準化委員会のメンバーでもある) の声明によれば、新規格は現行規格とほぼ 100% の互換性を保つとされているstrousup-designof3^。

1 変更の候補
2 C++ コア言語への拡張
3 コア言語の実行時パフォーマンス向上
 右辺値参照と Move semantics
 一般化された定数式
 Plain Old Data 型の定義の修正
4 コア言語のビルド時パフォーマンス向上
 外部テンプレート
5 コア言語の使いやすさの向上
 初期化リスト
 一様な初期化構文
 型推論
 範囲ベースの for ループ
 ラムダ関数とラムダ式
 統合された関数構文
 オブジェクト構築の改良
 明示的な仮想関数オーバーライド
 ナルポインタ
 強い型付けの列挙型
 山括弧
 明示的な変換関数
 テンプレートの別名付け (template typedefs)
 透過的なガベージコレクション
 制限の無い共用体
6 コア言語機能の改良
 可変長引数テンプレート
 新たな文字列リテラル
 ユーザー定義リテラル
 マルチタスク用のメモリモデル
 スレッドローカル記憶域
 コンパイラが生成する関数へのdefault/delete指定
 <code>long long int</code>型
 静的な表明
 インスタンス化されていないクラスメンバへのsizeof
7 C++標準ライブラリの拡張
 標準ライブラリの改良
 スレッディング
 タプル型
 ハッシュテーブル
 正規表現
 一般用途のスマートポインタ
 拡張可能な乱数の枠組み
  擬似乱数エンジン
  非決定的乱数エンジン
  乱数分布
 参照ラッパ
 関数オブジェクトの多相的ラッパ
 メタプログラミングのための型特性
 関数の戻り値型を算出する、一様な手法
8 脚注
9 関連項目
10 参考文献
 C++標準化委員会の文書
 記事
11 外部リンク