Java 開発者が C++ を学ぶための最良のアプローチは何ですか?

私は C++ を Java の人たちに教えましたが、別の方向から習いました.

Cに慣れていますか?そうでない場合は、カーニハンとリッチーを読んでください。 たくさん C++ の特殊性は、C++ が C の基本的な式構文を備えた「より優れた C」であることを望むことによって説明されます。

ストローストラップを入手する必要があります。

Bruce Eckels の Thinking in C++ はよく思います。

Cline、Lomow、および Girou による The C++ FAQ Book を使用しました。私はかなり頻繁にそれを参照します。 Marshall Cline のサイトにも C++ FAQ コンテンツがあります。

更新

C++ for Java Programmers も参照してください。私はその本を知りませんが、まともに見えます.


私の提案は、高度にポインタベースのものを書くことです 、リンクされたリスト ライブラリ、BST ライブラリなどのように。コードは純粋な C と同様に STL フリーである必要があります。そのようなライブラリ (たとえば、ソート アルゴリズム?) を使用してアプリケーションを構築し、すべての落とし穴に対処する方法を学ぶ必要があります。初めての C/C++ コードである場合は、必ず思いつきます。

私の意見では、C++ を理解する上で最も重要な基本は、ポインターと、クラスと構造体の低レベル メモリ表現を理解することです。それは悟りのようなもので、その後はすべてがシンプルで明確になります;)


Scott Meyers の「Effective C++」と「More Effective C++」から始めます。この 2 冊の本では、C++ の優れたベスト プラクティスについて説明しています。

http://www.aristeia.com/books.html