views:

8535

answers:

19

Possible Duplicate:
The Definitive C++ Book Guide and List

I'm looking to pick up a good C++ book.

I have been programming for many years in managed languages and I will me making the jump to native code using C++.

What books do you recommend to get me up to speed with all the intricacies of C++.

Thanks.

+20  A: 

Effective C++.

tgamblin
Read through the first few chapters... Excellent book so far!
this is not an expert book; maybe intermediate.
Comptrol
and more effectice C++
Roman Dorevich
+9  A: 

It was discussed so many times here, but once again "The C++ Programming Language".

Mladen Jankovic
It is great for reference, but not to learn C++ from.
Matt Price
+12  A: 

My suggestion and favorite is Modern C++ Design by Andrei Alexandrescu.

kenny
I would recommend this for someone further from intermediate and closer to the expert end of the spectrum. Especially if the person's not yet familiar with C++ and is still used to managed languages.
tgamblin
+2  A: 

Exceptional C++
More Exceptional C++ and
More Effective C++.

But Effective C++ is the best of these.

daveb
+2  A: 

C++ Common Knowledge: Essential Intermediate Programming

If you only read one book on C++, this should be the one.
sakra
+3  A: 

I found http://www.parashift.com/c++-faq-lite/ very informative when moving from C to C++.

Drew Frezell
+5  A: 

Bruce Eckel's Thinking in C++ is a pretty good book and it's available for free download.

Alejandro Bologna
+1 great book, I enjoyed it
chester89
+5  A: 

C++ Coding Standards - This book serves as a good overview of modern C++ development and an index into the C++ literature. It doesn't go into depth with the issues but gives good references when you need them. I give this and Effective C++ to developer who hasn't read them.

Matt Price
+3  A: 

I think "C++ For Game Programmers" by Noel Llopis is an amazing book with a misleading title (besides the samples, it has little to do with games). The book not only explains how to use the language, but also how to use it efficiently, and why it has been designed this way, all this from a very pragmatic point of view. If you really want to get a deep understanding of what you are doing, you should definitely have a look at this book.

Drealmer
+1 for this answer. IMO, the title of the book is so "awesomely" misleading. =p
ShaChris23
+1  A: 

If you want to understand the STL, and you probably should, then I would recommend Generic Programming and the STL. The first section gives the best understanding of how the containers and algorithms are put together that I've ever read. I never "got it" till reading this book. The rest is reference material that you can find online at sgi's website.

Matt Price
+7  A: 

Start with Accelerated C++ to quickly learn how to program in C++ (it's aimed at programmers with some experience). Then move on to books such as Effective C++ or Exceptional C++ to learn the details (there are a lot of them!). They are very good books - but they're not really appropriate as an introduction.

Daniel James
+10  A: 

To get started I'd say you go with either C++ Primer from Lippman or Thinking in C++ from Bruce .Eckel

After that, get familiar with the STL.

Nicolai Josuttis

  • The C++ Standard Library - A Tutorial and Reference.

And I've never known a C++ developer who didn't learn a lot from the books of both

Scott Meyers :

  • Effective C++
  • More Effective C++
  • Effective STL

and Herb Sutter:

  • Exceptional C++
  • More Exceptional C++
Pieter
+4  A: 

My favorite book is Modern C++ Design (by Alexandrescu) but it's advanced book. I've read a lot of intermediate books, like all of Sutters books, all of Meyers books, The Stroustroup, the Josuttis. But the one I think is the best for people that wont to "jump" inside C++ whitout passing in the C room is "Accelerated C++" by Andrew Koenig and Barbara E. Moo.

It's an amazing book that can teach you to "play" c++

ugasoft
+8  A: 

I have made a list of the best C++ books that I have seen:

  • More Exceptional C++
  • C++ Template Metaprogramming
  • Nicolai M. Josuttis - C++ Standard Library, The A Tutorial and Reference
  • Modern C++ Design, Generic Programming and Design Patterns Applied
  • Applied C++ Practical Techniques for Building Better Software
  • Bjarne Stroustrup - The C++ Programming Language
  • C++ Template Metaprogramming
  • C++ Templates - The Complete Guide
  • Designing Components with the C++ STL
  • Efficient C++: Performance Programming Techniques
  • C++ Common Knowledge: Essential Intermediate Programming
  • C++ Cookbook
  • Inside the C++ Object Model
  • Standard C++ IOStreams and Locales
  • C++ FAQs, Second Edition
  • Imperfect C++: Practical Solutions for Real-Life Programming
  • Exceptional C++ Style: 40 New Engineering Puzzles, Programming Problems and Solutions
  • C++ Gotchas
  • Effective & More Effective C++
  • C++ Coding Standards: 101 Rules and Guidelines
  • Effective STL: 50 Specific Ways to Improve Your Use of STL
  • Effective C++: 55 Specific Ways to Improve Your Programs
  • Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions
+1  A: 

Beginning Visual C++ 6 By Ivor Horton (Wrox).

This is an awesome book. Don't be fooled by the Visual in the name, it does have things that relate to the VC++ IDE but it also has a wealth of knowledge for entry and understanding of C++ language.

Also don't be discourged even though you are beyond entry level and the book is titled "Beginning" it is worth the read and i'm sure anyone else who has run through it would agree.

Quintin Robinson
+1  A: 
  • Effective C++
  • exceptional c++
  • c++ coding standards
  • Modern C++ Design

in that order

Anders Rune Jensen
+1  A: 

The best reference I've found is C++: The Complete Reference by Herb Schildt

idontwanttortfm
+1  A: 

I would say there are a lot of good ones published by Addison Wesley which have been mentioned above.

I would add, if you are a reasonably experienced programmer in other languages and have some C, but new to C++ then Stephen C Dewhurst: C++ Common Knowledge is very good - it's a slim volume covering some of the "C++ dark corners", but tells you a lot without any waffle. Plus it's an entertaining read.

Robert
+6  A: 

The best books I read about C++ were written by Andrew Koenig:

The 1st one will take you from beginner to intermediate, The second one is more advanced and very good. A. Koenig is one of the very few C++ experts that can actually write.

The books from scott meyers should be your next read:

They details the most common programming idioms of the languages, easy read too, and quite cheap on amazon. Meyers is also a good writer and try to explain the most common concepts and c++ habits.

If i would have to recommend one book to get yourself started in c++, that would be accelerated c++.

Now the hard part: when you'll be done with these books, that's when you will start to actually use most of the c++ programming paradigm. From that point you'll be able to pick the books by yourself: you will be more comfortable with one paradigm (oo, templates etc.) and try to improve on the other ones.

Enjoy the ride,

-- ppi

ppi