Herb Sutter は、C++ 標準化委員会の議長であり、非常に活発なメンバーでもあり、Microsoft の Visual Studio のソフトウェア アーキテクトでもあります。
彼は、C++0x 用に標準化された新しい C++ メモリ モデルの作成者の 1 人です。たとえば、次の論文です。
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2669.htm
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007 /n2197.pdf
彼の名前があります。したがって、H. Sutter が Microsoft に留まる限り、Windows に C++0x が含まれることは保証されていると思います。
Visual Studio に一部しか含まれていない C99 に関しては、これは優先順位の問題だと思います。
- C99 の興味深い機能のほとんどは既に C++ に存在しており (インライン化、任意の変数宣言、// コメントなど)、Visual Studio の C でもおそらく既に使用可能です (C++ コンパイラ内で C コードを実行するだけの場合)。C++ の C99 機能に関するより完全な説明については、こちらの回答を参照してください。
- C99 は、C++ に既に存在する機能を追加することにより、C と C++ の間の相違を増やしますが、互換性のない方法です (申し訳ありませんが、C99 の
ブール演算の複雑な実装はせいぜい笑えるものです... http://david.tribble.com/を参照してください)。詳細については、 text/cdiffs.htmを参照してください)
- Windows の C コミュニティは存在しないか、認められるほど重要ではないようです。
- Windows の C++ コミュニティは重要すぎて無視できないようです
- .NET は、Microsoft が人々に Windows でのプログラミングを望んでいる方法です。これは、C#、VB.NET、おそらく C++/CLI を意味します。
では、私は Microsoft であり、ほとんどの人が既に使用している、より多くのコミュニティでアクティブな言語で同じ機能が既に提供されているのに、ほとんどの人が使用しない機能を実装する必要があるでしょうか?
結論?
C++0x は、VS 2008 の拡張として、または Visual Studio の次世代 (世代?) に含まれます。
まだ実装されていない C99 機能は、何か劇的なことが起こらない限り、次の年には実装されません (C99 開発者でいっぱいの国がどこからともなく現れますか?)。
2011 年 4 月 14 日を編集
どうやら、"C99 開発者でいっぱいの国" は既に存在するようです: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6415401
^_^
それでも、http: //blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx#6828778の最後のコメントは十分に明確だと思います。
2012-05-03 を編集
ハーブ・サッターは次のことを明らかにしました。
- 私たちの主な目標は、「ISO C++98/C++11 のサブセットである C99/C11 の大部分」をサポートすることです。
- また、歴史的な理由から、C++ ではなく C90 (のみ) を受け入れる C90 コンパイラを出荷しています。
- C90 または ISO C++ の一部ではない ISO C 機能をサポートする予定はありません。
ブログ投稿には、これらの決定に関するリンクと詳細な説明が追加されています。
ソース: http://herbsutter.com/2012/05/03/reader-qa-what-about-vc-and-c99/