6

C++0x標準は完成に向かっています。これまでC++に手を出していましたが、他の言語で台無しにされてきた多くの最新機能が欠けているように思われるため、完全に学ぶことは避けました。しかし、私は多くの苦情に対処するC++0xに非常に興味があります。標準が承認された後、主要なコンパイラベンダーが合理的に完全な本番品質の実装を提供するのにどれくらいの時間がかかるかについての推測はありますか?C ++の人気の低下を逆転させるのに十分早く起こるのでしょうか、それとも少なすぎるのでしょうか、遅すぎるのでしょうか。C ++0xが数年以内に「C++」になると思いますか、それともほとんどの人が実際には以前の標準に固執し、C++0xはやや野蛮な継子になると思いますか。 C99?

4

5 に答える 5

16

C++0x を採用すべきではない理由はわかりません。C++ コミュニティは、C よりもはるかに先見の明があります。C は常に「移植可能なアセンブラー言語」であることを意図していたので、C を使用する人々は、派手な新機能にあまり関心がありません。C++ の範囲ははるかに広く、 0x を楽しみにしていなかった C++ プログラマーの話をまだ聞いたことがありません。(私の印象では、C++ コミュニティははるかに「厳格」であり、標準から外れて未定義の動作に移行することを本当に望んでいません。ハイブリッド. C プログラマーはそれについてもっとリラックスする傾向があり、C99 の機能とヘッダーをいくつか混ぜただけで C89 を喜んで使用するようです)。

ただし、Microsoft が追いつくには、少なくとも数年はかかるでしょう。Visual Studio 2010 は、少数の C++0x 機能 (ラムダ、decltype、およびその他のいくつか) をサポートしますが、大部分はサポートされません。VS2012 または最終的に次のバージョンが何であれ、ある程度完全なサポートが得られるまで待つ必要があります。

GCC/G++ では、ほとんどの標準が既に実装されているため、状況はかなり改善されています (標準委員会は、実際のコンパイラで実装およびテストされていない機能を採用することを好みません。GCC フォークは、そのためによく使われます)

しかし、安定して本番環境に対応できるようになるまでには、おそらくまだ時間がかかるでしょう。

C++ の「人気の衰退」については、私にはよくわかりません。ここ数年、C++ の人気が大幅に低下しているとは思いません。もちろん、RAD 開発者はすでに .NET、Python、その他の言語やプラットフォームに移行しています。しかし、現在 C++ が使用されている場所では、実行可能な代替手段は多くなく、人気が低下する理由もありません。

于 2009-01-24T07:32:09.407 に答える
3

他のベンダーについては知りませんが、私が見た限りでは Microsoft は Visual C++ 2010 に次の 4 つの C++0x 言語機能を含める予定です。

  1. 右辺値参照
  2. 自動
  3. ラムダ
  4. 静的アサート

これは C++0x 機能の小さなセットですが、重要な機能です。プログラマーがよりコンパクト (自動、ラムダ) でエラーのないコードを記述できるようにするものもあります。一部 (右辺値参照など) は、ライブラリをより効率的にすることができます。Microsoft は、並列コンピューティングのイネーブラーとしてラムダを好みます。

IMHO:autoそれだけでテンプレートの使用が非常に簡単になり、より多くのプログラマーがそうするようになります。これにより、Microsoft およびすべてのベンダーからの C++0x 機能に対する需要が高まることを願っています。

Microsoft も C++ 標準ライブラリの実装を更新する予定ですが、詳細はわかりません。右辺値参照の移動セマンティクスを利用するために、一部のコンテナ クラスを変更していると思われます。そして、私は彼らがより多くの TR1 を含んでいると信じています。

于 2009-01-24T16:11:16.410 に答える
2

いくつかの実装はすでにC++0xに向かっています:(gcc)。私の直感によると、C++0xのサポートは主要なコンパイラでかなり早く利用できるようになります。ただし、維持しなければならないレガシーコードの大部分はまだ存在します。

于 2009-01-24T06:33:45.547 に答える
2

gccの新しいバージョンは、すでに多くのC ++ 0x機能をサポートしています:http://gcc.gnu.org/projects/cxx0x.html

于 2009-01-24T06:35:19.273 に答える
0

Microsoftは、今年後半にVisualStudio2010にC++0xサポートを含める予定です(コミュニティテクノロジのプレビューはすでに利用可能です)。

すぐに「C++」になるとは思いませんが、コードで意味のある場所に新しい構文の一部を追加することを選択する人もいます。

最近はC++をあまり使用していませんが、話をする人はそれを気に入っているか、C ++の美しさは自分で制御できることにあると感じています。また、これらすべての追加機能を備えた言語が必要な場合は、C#を使用します。 /Java。

于 2009-01-24T06:38:34.430 に答える