Home

The best books for C++programming

Here is our list of "essential" C++ programming books. Of the plethora of programming books on the market, we think the ones below are among the best. If you're looking for good books, you can't go wrong by starting here.

We are also reviewing newer books, which are more up-to-date with respect to the current C, C++, and Java standards. As we find new books that merit the title "essential," we will add them to this list. So be sure to stop by again.

Reader/Subject Categories

We classify each book by technical level and content type. Our categories for technical level are Introductory, Intermediate, and Advanced. Technical level identifies the kind of reader who would benefit most from the book -- a beginning, intermediate, or advanced C++ programmer. Our categories for content type are Reference, Design, and Idioms. Books having a Reference designation contain factual information about C or C++ (syntax, features, usage rules, etc.) that everyone needs to program effectively in C or C++. Books having the Design classification show how to structure programs (source files, declarations, classes, hierarchies, etc.) to produce code that is reliable, maintainable, and reusable. Books having the Idioms classification demonstrate commonly expressed usages of programming language features, analogous to commonly spoken phrases in a natural language.

The categories are abbreviated as follows:

Introductory: INTRO
Intermediate: INTMD
Advanced: ADV
Reference: REF
Design: DESIGN
Idioms: IDIOMS

Look for these designations at the end of each book listing.
 

C++ Programming Books


Austern, Matt.
Generic Programming and the STL,
Addison-Wesley, 1998.
ISBN 0201309564.
 
[INTMD, REF]

Allison, Chuck
C & C++ Code Capsules: A Guide for Practitioners
Prentice-Hall, 1998
ISBN 0135917859
A practical handbook for people who make a living coding in C or C++.
[INTMD REF DESIGN IDIOMS]

Deitel & Deitel,
C++: How to Program, Second Edition,
Prentice-Hall, 1998,
ISBN 0-13-528910-6.
"Highly readable and rather complete. Although it does not utilize the latest features of the ISO C++ standard, and its coverage of templates is a little spotty, it is an excellent introductory text."
[INTRO, REF]

Koenig, Andrew & Moo, Barbara.
Ruminations on C++.
Addison-Wesley, 1997.
ISBN 0-201-42339-1.
"For me, this is about the best book I own on C++."
Reviewed in April's CUJ.
[INTMD, ADV, DESIGN, IDIOMS].

Cargill, Tom.
C++ Programming Style.
Addison-Wesley, 1992.
ISBN 0-201-56365-7.
"One of the very best on proper use of classes and objects in C++, as well as tricks of the trade."
Reviewed in the April 1993 issue of CUJ.
[INTMD, DESIGN, IDIOMS]

Carroll, Martin & Ellis, Margaret.
Designing and Coding Reusable C++.
Addison-Wesley, 1995.
ISBN 0-201-51284-X.
"Superb design handbook for the C++ developer."
Reviewed in the June 1996 issue of CUJ.
[INTMD, DESIGN, IDIOMS]

Cline, Marshall & Lomow, Greg & Girou, Mike.
C++ FAQs, Second Edition.
Addison-Wesley, 1998.
ISBN 0-201-30983-1.
"Probably the best text for daily use in the workplace. Only dopes overlook this one."
[INTMD, ADV, REF, DESIGN, IDIOMS]

Coplien, James.
Advanced C++.
Addison-Wesley, 1992.
ISBN 0-201-54855-0.
"The one and only truly advanced text. Rich in design idioms. For power users only."
[ADV, DESIGN, IDIOMS]

Eckel, Bruce.
Thinking in C++.
Prentice-Hall, 1995.
ISBN 0-13-9177094.
"A tutorial/text in the style of Lippman's Primer (see below), but more thorough, friendly, and up-to-date."
[INTRO]

Lippman, Stanley and Lajoie, Josée.
C++ Primer, 3rd. ed.
Addison-Wesley, 1998
ISBN 0-201-82470-1.
"Excellent tutorial for beginners. Very thorough."
[INTRO]

Murray, Robert.
C++ Strategies and Tactics.
Addison-Wesley, 1993.
ISBN 0-201-56382-7.
"A solid introductory book."
[INTRO, DESIGN]

Meyers, Scott.
Effective C++, 2nd Edition
Addison-Wesley, 1998.
ISBN 0-201-92488-9.
"Two of the best books by far. Concise chapters on specific implementation issues."
Effective C++ was reviewed in the June 1994 issue of CUJ.
Meyers, Scott.
The Effective C++ CD
Addison-Wesley, 1999.
ISBN 0-201-31015-5.

Provides electronically readable versions of both Effective C++ and More Effective C++ Books, plus five magazine articles, including one from CUJ.
[INTMD, REF, DESIGN, IDIOMS]

Plum, Thomas & Saks, Dan.
C++ Programming Guidelines.
Plum Hall, 1991.
ISBN 0-911537-10-4.
"A little dated, but still contains good advice for the C++ practitioner."
Reviewed in the January 1993 issue of CUJ.
[INTMD, REF]

Stroustrup, Bjarne.
The C++ Programming Language, Third Edition.
Addison-Wesley, 1997.
ISBN 0-201-88954-4.
"Still the definitive reference on the language, by its creator. Very complete. Teaches how C++ was meant to be used."
[INTRO, INTMD, REF]

Stroustrup, Bjarne.
The Design and Evolution of C++.
Addison-Wesley, 1994.
ISBN 0-201-54330-2.
"The standard text on C++ history and philosophy from its designer. A must-read."
[INTMD, ADV, IDIOMS]

Lippman, Stanley.
Inside the C++ Object Model.
Addison-Wesley, 1996.
ISBN 0-201-83454-5.
"A beneath-the-hood look at how C++ works, by a leading expert. Can be helpful in making those sticky design tradeoff decisions in real-world programs. For experienced developers only."
[INTMD, ADV]

Lakos, John.
Large-Scale C++ Software Design.
Addison-Wesley, 1996.
ISBN 0-201-63362-0.
"Very thorough treatment of logical and physical design of large, real-world software systems for C++ developers. A reality check for the would-be software engineer. Good stuff, but definitely not light reading."
[INTMD, ADV, DESIGN]

Sedgewick, Robert
Algorithms in C++.
Addison-Wesley, 1992.
ISBN 0-201-51059-6.
"Although not generally for beginners, this updated version of Algorithms in C (1990) is usable by all. An introduction to the most commonly used data structures and algorithms. Handy reading for C and C++ programmer alike. "
[INTRO, INTMD, REF, DESIGN]

[back to top]