8

I know (to some extent) a few languages, including C, Java and Python. I'm also (somewhat) familiar with Scala and Scheme, plus I can read (but not write) x86 Assembly. Say I want to learn C++, what is a good book which doesn't try to teach me what a class is, teach me inheritance, polymorphism or loosely coupled classes again, nor does try to teach me other basics, just the C++ language (as well as how to write idiomatic C++ code, not e.g. Java with C++ syntax) and its standard library?

Note: "Detailed" as used in the title means that it doesn't try to cover C++ in 100 pages, I want to know the details of the language. Of course, mastery comes from practice, but I don't want to learn just a little bit of C++ from the book, but learn it quite thoroughly.

2
  • An important question for me, too. I just found out that my new project is mostly or entirely C++ when I really went straight from ten years of C to (nearly) ten years of C#. Mar 5, 2011 at 14:46
  • Click here for the definitive C++ book list. Jun 30, 2011 at 0:21

3 Answers 3

9

For a quick start: Accelerated c++ is very good - it uses with modern c++ concepts, rather than with 'C'type stuff

You should also get effective c++ or check the c++ faq site.

Finally it's big and comprehensive, Stroustrups C++ programming language.

4

Bruce Eckel's Thinking in C++ is very good IMHO.

2
  • I agree, Eckel's book would be my first recommendation for someone with a good C background. Koenig and Moo's "Accelerated C++" is my top recommendation for learning C++ without much programming background. Mar 5, 2011 at 18:56
  • I thought "thinking in c++" was too much of a learn to program book - it's about OO with c++ as the example Mar 6, 2011 at 1:06
1

C++ Primer Plus

The C++ Standard Library: A Tutorial and Reference

Yes.

Not the answer you're looking for? Browse other questions tagged or ask your own question.