銀天随筆集 このページをアンテナに追加 RSSフィード Twitter

2011-09-03 指符「倍々で増える栗まんじゅう」

祝: ISO/IEC 14882:2011 発行!

C++0x 改め C++11 の規格文書が, ISO から購入できるようになりました.

http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=50372


今のところ,値段が 352 スイスフランと高いので,僕は

より安い版が http://webstore.ansi.org 辺りから発売される*1のを待つつもりです.


ともあれ,これで C++0x は正式に規格化されたので,

当サイトでも C++0x という呼び名は改め,これ以降は単に C++ と呼ぶことにします*2

一応, GCC で -std=c++0xデフォルトになるまでは,日記のタグとしては C++0x も併用しますが,

これ以降は,単に C++ と呼んだ場合,それは C++0x 改め C++11 のことなので,勘違いなきよう お願いします.


// さて,次は C++1x だ. 個人的な意見としては,

// 言語コアではコンセプト, #include に代わるモジュール機能,多相ラムダ,

// ライブラリでは optional や variant や range や filesystem 辺りは

// 最低限でもほしい所ですが,さて,どうなるやら. 5年後が楽しみです.

*1C++03 だと30ドル http://webstore.ansi.org/RecordDetail.aspx?sku=INCITS/ISO/IEC%2014882-2003 なので, C++11 もそれくらいになるでしょう.

*2:勿論 C++98/03 や C++1x との比較の文脈では C++11 と呼びます.

FlastFlast 2011/09/07 11:49 > GCC で -std=c++0x がデフォルトになるまでは
私の勝手な予想ですがこれはないと思います。-std=c99/gnu99はデフォルトになっていないですし。

gintenlabogintenlabo 2011/09/07 14:57 実際に -std=c++0x/gnu++0x がデフォルトになるかどうかは,この件に関しては,あまり関係ないですね.
GCC で -std=c++0x/gnu++0x という表記が使われているうちは, C++11 より C++0x の方が( GCC 使いにとっては)紛れが少ないので,そちらをタグに使うのは自然だ,と判断したまでのことです.
もちろん,これはあくまで現状の方針であって,状況次第で いくらでも変わるスタンスだ,ということは,明言しておきます. 例えば clang が GCC より広く使われるようになって,そちらが C++11 をデフォにした,という状況になれば,そちらに追随するつもりです.
あくまで,今のところは,最も広く使われている C++ のコンパイラである GCC の方針に従う,というだけの話. GCC のオプション指定が -std=c++11/gnu++11 になれば,タグは C++11 にするでしょう.

実際の所,僕も,規格が新しくなったからと言って GCC が*すぐに*追随するとは思ってなくて,少なくともあと数年は,デフォでは C++98/03 のままだろうと考えてます.
ただ, C99 を引き合いに出すのは,個人的には あまり相応しくない気も. C99 の新機能のうち,便利なものは大半が GCC 拡張により -std=gnuc90 でも使えますし,そもそも http://gcc.gnu.org/onlinedocs/gcc/Standards.html によれば "The default, if no C language dialect options are given, is -std=gnu90; this will change to -std=gnu99 in some future release when the C99 support is complete." とあるので,いつかは C99 をデフォルトに変更するつもりらしいですし. それがいつになるかは分からないですけれど.

いずれにせよ,今のところは,最も使われている C++ 処理系である GCC に追随する所存.
…MSVC? なにそれ?

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/gintenlabo/20110903/1315059927