Definitive Cee Plus Plus Books

Some C++ books are not just good; they're the definitive works, the books everyone refers people to. Some of them are:

I learned C++ from the second edition of this book. I was really looking forward for the third edition describing the ANSI standard but I found it a huge disappointment. It's rather large (but so is the language) and lacks structure. What really ruins it is the horribly bad index.
(Anyone else worried about a twelve hundred page primer? Lippman may be; his more recent book, Essential C++ (EssentialCpp) (ISBN 0201485184 ) is only 304 pages. -- PaulChisholm)

(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.)

I agree, this book has a steep learning curve so you have to go slower (and support works from the net are a great help), but overall this book is excellent at getting you started with good C++ (not C and then C++, but it starts with pure C++ right from the beginning) coding technique and style.

(Paul S. Wang's Standard C++ With Object-Oriented Programming (ISBN 0534371310 ) may have supplanted the Deitels' book. -- PaulChisholm)

See also below for another Meyers book, likely to soon be considered definitive.

Not necessarily, since JimCoplien was deliberately trying to push the edge of the C++ envelope, circa 1991 (cfront 2.0). His "canonical form" for C++ value types is still definitive. -- PaulChisholm

(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)

Maybe a good book, but I wouldn't consider it definitive. -- PaulChisholm

I wouldn't even consider it a good book. -- JamesDennett

This book helped me understand something I couldn't find anywhere else. Here it is: PureVirtualFunctionCalled.


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.

-- BetsyHanesPerry


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:

The material is somewhat advanced. If you are comfortable with C++, this is a good way to get to the next level.

-- 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...


CategoryDefinitiveBooks CategoryBooks CategoryCpp


EditText of this page (last edited June 1, 2012) or FindPage with title or text search