2009-05-14 3 views
6

OK、今後数ヶ月でC++開発に着手することを検討しています(設定された日付はありません)。私は言語(主にC)に加え、OO、MI、テンプレート、例外、パターン、STLを使用するいくつかの基本を漠然と熟知しています。そして今、私は言語を深く習得したいと考えています。そして、自然な問題は、私が
から始めるべきかどうかです。C++ 03またはC++ 0x標準です。新旧の標準(仕様)に基づいてC++を学ぶべきでしょうか?

新しい標準がほとんどここにあり、何年も続く可能性があることを考えると、ユーザーから教祖に至る最善の方法を提案してください。

ありがとうございました

+3

C++を習得することで何を得たいですか? 言語の設計に興味があるなら、C++ 0Xがもっと興味深いでしょう。しかし、専門的な開発をしたい場合は、間違いなくC++ 03標準に固執する必要があります。 – joshdick

答えて

12

私のお勧めは、真ん中から始めることです。 C++ 03から始めましょうが、いくつかのコンパイラが既に提供している機能やC++ 0xライブラリを頻繁にチェックしてください。現在のところ、C++ 03が標準です(正式ではありませんが、ほとんどのコードは厳密にC++ 03になります)。

学習を進めたい場合は、STLの基本をすぐに開始し、すぐにBoostライブラリにジャンプしてください。テンプレートを全面的に学び、メタプログラミングを読む。現代のC++ 03の使用法は、C++ 0xのためのあなたの権利を得るでしょう。

6

古い標準C++ 03を学んでください。 C++ 0Xは、標準として批准されていなくても、まだ数年前(少なくとも)です。標準化が完了したら、のすべての機能をサポートする適合実装が表示されるまでに時間がかかります。はさらに長くなり、C++ 0Xの実装が大幅に普及しています。

2

私の意見では、C++ 03がより実用的であることを学んでください。新しい機能の学習には気を配りませんが、部分的に数年間使用できる場合は、C++ 0xが優れています。良いニュースは、g ++の新バージョンとvC++ 2010がすでに新しいC++ 0x機能の一部を実装していることです。

1

新しいC++ 0x機能を学ぶことは、C++ 03がどのように動作するのか、その問題、そしてC++ 0xが行うことを見ているため、C++ 03の詳細を学ぶのに最適ですこれらの問題を解決する。

私は、この新しい経験値のリファレンスと移動セマンティクスについて最近学んだ経験がありました。 C++ 03には、式に不要な一時的な作成とコピーがたくさんあり、なぜC++ 03がこの問題を抱えているのか、そしてC++ 0xがこの問題を解決する方法がわかっていて、現在のC++開発に知らされています。

1

C++ 0xコンパイラが一般的になるまでには数年かかるでしょう。だから、現時点では選択肢があまりありません。 C++ 03を学び、時間が来たら新しいものを別々に学ぶことができます。基本的な違いはあまりありません。 0xは、主に新機能の対象となり、既存の機能は一般化され、合理化されています。 C++ 03の知識はまだ適用可能です。

関連する問題