Further Reading
This section lists some texts that cover the material presented in this chapter much more thoroughly, and they should be a first source for more information about C++ programming. The books are listed in alphabetical order according to the author's name. A brief summary of the contents of each book is also given.
Cline, M., Lomow, G., and Girou, M. (1999). C++ FAQs Second Edition. Addison-Wesley Longman, Inc.
This text is based on the online C++ FAQ at http://www.cerfnet.com/~mpcline/c++-faq-lite/, but it offers much more than the online FAQ. It covers topics from basic to very advanced and is well written, having evolved over several years. This book offers very good value and makes an excellent reference, a great choice for a second book on C++.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Orientated Software. Addison-Wesley Longman, Inc.
This is the pioneering text on design patterns. Examples are given in C++ (and Smalltalk), making it particularly useful. This book should help you to approach object-based programming in a different way.
Horton, I. (1998). Beginning C++: The Complete Language. Wrox Press.
This text has complete coverage of ANSI/ISO C++. It is not compiler specific and is very up to date. It is precise and includes information not found in other books. It makes a very good first book on C++.
Kalev, D. (1999). ANSI/ISO C++ Professional Programmer's Handbook: The Complete Language. Que Corporation.
This is a relatively recent text with many interesting insights into the C++ standard. It is a handy reference for many of the more advanced topics in C++. It focuses a lot on why certain features are present, offering an insight rarely found in many similar books.
Lakos, J. (1996). Large-Scale C++ Software Design. Addison-Wesley Longman, Inc.
Despite the title, this text is essential reading for anyone involved in any but the most trivial C++ projects. Divided into three parts covering basics, physical design, and logical design, the book has many guidelines and principles scattered throughout (collated at the end for ease of reference) that make reading it instantly productive.
McConnell, S. C. (1993). Code Complete: A Practical Handbook of Software Construction. Microsoft Press.
This text offers a very thorough treatment of how code is written. It is a definitive guide to this subject and should be read by anyone who really wants to examine and understand the merits of the different ways code is written. It does not present one particular method of writing code but rather comments on a variety of techniques.
Meyers, S. (1998). Effective C++ Second Edition: 50 Specific Ways to Improve Your Programs and Designs. Addison-Wesley Longman, Inc.
Perhaps one of the most famous C++ books, it is written in an easy-to-read style, its size belies the great wealth of information it contains.
Meyers, S. (1996). More Effective C++: 35 New Ways to Improve Your Programs and Designs. Addison-Wesley Longman, Inc.
The follow-up text to Effective C++ offers more pearls of wisdom to be digested by the avid programmer. Meyers' books are definitely a must read.
Sutter, H. (2000). Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions. Addison-Wesley Longman, Inc.
As the title suggests, this is an advanced text based on the "C++ Guru of the Week" series, which can be found on the comp.lang.c++.moderated newsgroup. It covers many topics and is highly informative. Once several of the previous texts have been digested, thisbook's true value can be appreciated.