WisdomSoft - for your serial experiences.

1.3 C++ 0x とコア言語拡張

本稿執筆時では草案だった C++ 11 の紹介です。
本稿執筆時点で草案だった C++ 0x は、後に C++ 11 (ISO/IEC 14882:2011)として正式に勧告されました。

1.3.1 進化する C++ 言語

本書執筆時点の 2010 年春の時点では、より複雑化する現代的で高機能なソフトウェアを安全かつ生産的に記述するといった要求に応じるために次期 C++ 言語の仕様策定が C++ 標準化委員会によって議論されています。次期 C++ は 2009 年までの策定を予定して C++ 0x と呼ばれていましたが、残念ながら 2010 年現在においても草案にとどまっています。

[JTC1/SC22/WG21 - The C++ Standards Committee] http://www.open-std.org/jtc1/sc22/wg21/

もともと C++ 言語の仕様は膨大であり、仕様書にして 740 ページに及び、C++ 言語の設計者である Bjarne Stroustrup 氏が書いた解説書「The C++ Programming Language (3rd Edition) 」にいたっては 1000 ページを超えています。さらに C++ 0x は現在の草案時点で 1200 ページを超えています。しかし Bjarne Stroustrup 氏によれば C++ は人々が想像するほど巨大な言語ではなく、740 ページの標準仕様書のうち言語解説は 340 ページ程度であると説明しています。

[Bjarne Stroustrup's homepage] http://www2.research.att.com/~bs/homepage.html

他の言語と比較して C++ が複雑かどうかは開発者の視点によって議論が分かれますが、重要なのは実用性と生産性です。この点において C++ は後発の Java や C# に後れを取っている部分があります。C++ 0x は現在の C++ を進化させ、より現代的なプログラミングに対応するために必要とされています。

正式リリースが遅れている C++ 0x ではありますが、草案で決定されている一部の機能については Visual C++ 2010 でも採用されています。C++ 0x のすべてを紹介することはできませんが Visual C++ で採用されている機能について解説をいたします。