Some C++ books are not just good; they're the definitive works, the books everyone refers people to. Some of them are:
(The fourth edition of The C++ Primer is now available, adding BarbaraMoo as coauthor. It is significantly shorter than the third edition (about 900 pages) and is completely rewritten, reorganized, and reindexed.)
(later) I just got Cope's latest, Multi-Paradigm Design for C++ (ISBN 0-201-82467-1 ). I can't swear it's "definitive," but it seems like a great design (and analysis) book for C++ programmers. (As the title implies, it's not just about object-oriented design.) -- PaulChisholm (see MultiParadigmDesign)
I wouldn't even consider it a good book. -- JamesDennett
Formerly definitive: Musser and Saini, STL Tutorial and Reference Guide (ISBN 0-201-63398-1 ) One of the earliest books on the Standard Template Library; now seriously out-of-date (and outclassed by Austern; see below).
I have to say this one didn't impress me at all. I get a lot more out of Stroustrup's stdlib musings in his 3rd edition "the language" book above. But maybe Musser and Saini will soon bring out another edition that covers the ground a little better. I really wish there was a decent alternative here.--PeterMerel
The second edition is out ISBN 0-201-37923-6 , and may be better; see http://brian.accu.org/bookreviews/public/reviews/s/s002346.htm for a review.
What might have been hoped to be definitive (The C++ Standard Template Library by PjPlauger, AlexanderStepanov, Lee, and Musser ISBN 0-13-437633-1 ) has received at least one negative review (http://brian.accu.org/bookreviews/public/reviews/cp/cp002312.htm).
ScottMeyers has another book out: EffectiveStl, which is highly recommended in its ACCU review (http://www.accu.org/bookreviews/public/reviews/e/e002375.htm); it may well join the definitive list.
The definitive STL book is Austern's; see above.
(I'm still looking for the "definitive" books for novice and experienced C++ programmers who want to learn VisualCeePlusPlus and MicrosoftFoundationClasses. Maybe they don't exist. I'd rather not need to know, but there it is.... -- PaulChisholm)
Beginning VC++ is pretty good for novice/intermediate level programmers. It has a first half dedicated to C++ (very good) and a second half dedicated to MFC. This is a tutorial covering many subjects, and not a reference book. -- DCO
Just download all the source from all the VC++ books at http://www.wrox.com and screw around with it. If you actually try to learn C++ (and computer programming) at the same time as you learn MFC and Win32 SDK, after taking a gun and blowing your own brains out you might as well read one of those little red menaces to get the text between the code samples. -- PhlIp (obviously)
I've also heard good things about Prosise's Programming Windows 95 with MFC (ISBN 1556159021 ). I think I prefer Krugilinksi. (The lastest edition, for MSVC++6, has a new title, and some co-authors.) Hart's Win32 System Programming (ISBN 0-201-63465-1 ) is a very good Win32 book for Unix programmers doing non-GUI Windows development. -- PaulChisholm
Check out http://www.relisoft.com for the best tutorials on applying C++ to Win 32 I've ever seen. They're not in print yet, but organized in chapters. So calling them a book is maybe not stretching it too far? -- SyverEnstad
Most C++ books assume you're very familiar with C, but completely new to objects. I haven't found a superb book for people who are in the opposite situation. I liked Steve Oualline's Practical C++ Programming (O'Reilly, 1995, 557 pp.) (ISBN 1-56592-139-9 ) better than the Lippman/Lajoie primer that's most commonly recommended. Oualline is full of useful tables like "The meanings of static" (5 possible meanings; can you list them off the top of your head?) that warn about obscure features of the language. It does introduce objects far too late. (Probably because this book shares a lot of content with his Practical C Programming. I must say, I've been underwhelmed by this book. Maybe I'm unique in this.... -- PhilGroce)
P.S. See CppStaticRiddle for the answer.
Can anyone recommend books that concentrate on documenting and using the standard C++ library? (Rather than concentrating on the details of the language itself.)
Perhaps Josuttis's TheCppStandardLibrary : A Tutorial and Reference (ISBN 0201379260 )? Stroustrup and Koenig are writing a follow-up to the ARM for the language, but not the library. It's an altogether sad state of affairs. -- PaulChisholm
See also above for books on the part of the language formerly known as the StandardTemplateLibrary.
C++ Gems - A collection of articles from the CppReport. The authors of C++ Gems include:
-- ScottDe
I am surprised no one mentioned Exceptional C++ (ExceptionalCpp) (ISBN 0-201-61562-2 ) by HerbSutter. The sections on exception safe code are extremely valuable. -- ShalomReich
This book is a real eye opener, and, yes, the whole section about "exception-safe" and "exception-neutral" code is invaluable. -- ElizabethWiethoff
I just read through his article on exceptions in the Aug 2004 issue of C/C++ Users Journal, quite nice, I must say. -- AnonymousDonor
The sequel, More Exceptional C++ (ISBN 0-201-70434-X ) is also informative, with emphases on the Standard Library and multi-threaded issues. These books are primarily based on the programming problems raised in Sutter's Guru of the Week (http://www.gotw.ca/). A third book in the series is on its way: Exceptional C++ Style (ExceptionalCppStyle) (ISBN 0-201-76042-8 ). -- ElizabethWiethoff
Another addition by HerbSutter (with AndreiAlexandrescu) is CppCodingStandards. Chuck Allison writes "When the authors of this book speak, the C++ community listens, but together they have outdone themselves, and you and I are the happy beneficiaries". Also, "More than just style guidelines and 'gotcha' warnings, C++ Coding Standards clarifies the idioms and practices that pertain specifically to successful C++ software." There doesn't seem to be too many good 'coding standards' books, especially for C++. It may well become the definitive book on the topic. -- Tabrez Iqbal
All the books in this section are in the CppInDepthSeries.
OK, so how about a book for people who (1) understand O-O programming, (2) know C, and (3) have a basic, partial understanding of C++ syntax? Something like "C++ for Java programmers" might even fit the bill.
AndrewKoenig & BarbaraMoo's Accelerated C++ (see above) or maybe ScottMeyers' Effective books (also see above).
I believe FrancisGlassborow? announced he was writing a book about learning C++ as a second language, which I think was broken up by chapter depending on your first language. I have no idea if this project is anywhere near fruition, however.
See also IwannaLearnCeePlusPlus for some not necessarily definitive books which are generally for novice C++ programmers.
http://accu.org/ contains book reviews for many books on C++ and other computer related subjects, some of which are definitive. Others, quite the opposite...