The Design and Evolution of C++ by Bjarne Stroustrup
Published March 1994
List Price: $54.99, Your Amazon.com Price: $47.29 Addison-Wesley Price: $41.24
Average rating:
Amazon Sales Rank: 139,769
Summary Presents the definitive insider's guide to the design and development of the C++ programming language. Provides insights into the aims, principles, and real-world constraints which shaped C++.
An excellent book for the intermediate to advanced C++ programmer. The book provides insight into the reasons behind many of the design decisions in the programming language which helps explain many of the more arcane parts of C++. In particular the treatments on the C++ object model, RTTI and templates are very relevant from the perspective of actual programming (rather than just language theoretic discussions).
However, there are a couple of caveats: the book (as of this writing in 2005) is getting somewhat dated. While the treatment of rationale behind design decision don't change, some of the end products have evolved with the standardization process.
Also, this book is not recommended for a beginner with C++. Not only does it assume familiarity with the C++ language, many code examples in the book are not actual C++ code; either theoretical variations of C++ or ancestral programming languages like C with Classes.