Depth & dark corners
These books go more deeply into language
topics, and help you avoid the typical pitfalls inherent in developing C++
programs.
Effective C++ (2nd
Edition, Addison-Wesley 1998) and More Effective C++ (Addison-Wesley
1996), by Scott Meyers. The classic, must-have texts for
serious problem-solving and code design in C++. I’ve tried to capture and
express many of the concepts from these books in Thinking in C++, but I
don’t fool myself in thinking that I’ve succeeded. If you spend any
serious time with C++ you’ll end up with these books. Also available on CD
ROM.
Ruminations on C++, by
Andrew Koenig and Barbara Moo
(Addison-Wesley, 1996). Andrew worked directly with Stroustrup on many aspects
of the C++ language and is an extremely reliable authority. I’ve also
found the incisiveness of his insights to be refreshing, and have learned much
from him, both in print and in person, over the years.
Large-Scale C++ Software Design,
by John Lakos (Addison-Wesley, 1996). Covers
issues and answers questions you will encounter during the creation of big
projects, but often smaller ones as well.
C++ Gems, Stan Lippman, editor
(SIGS publications, 1996). A selection of articles from The C++
Report.
The Design & Evolution of C++,
by Bjarne Stroustrup (Addison-Wesley 1994). Insights
from the inventor of C++ about why he made various design decisions. Not
essential, but interesting.