H. Selected Readings and Internet Resources
There are many good books and Internet resources about C++ and programming. The following list is intended to be representative rather than comprehensive. Thus, there are many fine books and sites not listed here. However, the list does cover a broad range of presentations.
Selected Readings
• Becker, Pete. The C++ Standard Library Extensions. Upper Saddle River, NJ: Addison-Wesley, 2007.
This book discusses the first C++ Library Technical Report, or TR1 library. This is an optional library for C++98, but most of its elements were incorporated into C++11. Topics include the unordered set templates, smart pointers, the regular expression library, the random number library, and tuples.
• Booch, Grady, Robert A. Maksimchuk, Michael W. Engel, and Bobbi J. Young. Object-Oriented Analysis and Design, Third Edition. Upper Saddle River, NJ: Addison-Wesley, 2007.
This book presents the concepts behind object-oriented programming (OOP), discusses OOP methods, and presents sample applications. The examples are in C++.
• Cline, Marshall, Greg Lomow, and Mike Girou. C++ FAQs, Second Edition. Reading, MA: Addison-Wesley, 1998.
This book addresses a great number of frequently asked questions about the C++ language.
• Josuttis, Nicolai M. The C++ Standard Library: A Tutorial and Reference. Reading, MA: Addison-Wesley, 1999.
This book describes the Standard Template Library (STL) as well as other C++ library features, such as complex number support, locales, and input/output streams.
• Karlsson, Bjürn. Beyond the C++ Standard Library: An Introduction to Boost. Upper Saddle River, NJ: Addison-Wesley, 2006.
This book, as the title suggests, explores several of the Boost libraries.
• Meyers, Scott. Effective C++: 55 Specific Ways to Improve Your Programs and Designs, Third Edition. Upper Saddle River, NJ: Addison-Wesley, 2005.
This book is aimed at programmers who already know C++ and provides 55 rules and guidelines. Some are technical, such as explaining when you should define copy constructors and assignment operators. Others are more general, such as discussing is-a and has-a relationships.
• Meyers, Scott. Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library. Reading, MA: Addison-Wesley, 2001.
This book provides guidance in choosing containers and algorithms and in other facets of using the STL.
• Meyers, Scott. More Effective C++: 35 New Ways to Improve Your Programs and Designs. Reading, MA: Addison-Wesley, 1996.
This book continues in the tradition of Effective C++, clarifying some of the more obscure aspects of the language and showing how to accomplish various goals, such as designing smart pointers. It reflects the additional experience C++ programmers have gained in the past few years.
• Musser, David R, Gillmer J. Derge, and Atul Saini. STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library, Second Edition. Reading, MA: Addison-Wesley, 2001.
The STL merits a complete book to describe and illustrate its features, and here is such a book.
• Stroustrup, Bjarne. The C++ Programming Language, Third Edition. Reading, MA: Addison-Wesley, 1997.
Stroustrup created C++, so this is the definitive text. However, it is most easily digested if you already have some knowledge of C++. It not only describes the language, but it also provides many examples of how to use it, as well as discussions of OOP methodology. Successive editions of this book have grown with the language, and this edition includes a discussion of standard library elements such as the STL and strings.
• Stroustrup, Bjarne. The Design and Evolution of C++. Reading, MA: Addison-Wesley, 1994.
If you’re interested in learning how C++ evolved and why it is the way it is, read this book.
• Vandevoorde, David and Nocolai M. Jpsittos. C++ Templates: The Complete Guide. Reading, MA: Addison-Wesley, 2003.
A lot can be said about templates, as this detailed reference demonstrates.
Internet Resources
• The 2011 ISO/ANSI C++ Standard (ISO/IEC 14882:2011) is available from both the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO).
ANSI has a downloadable PDF version available for $381. It can be ordered from the following website:
http://webstore.ansi.org
The ISO offers the document as a downloadable PDF file for CHF 352 or on a CD-ROM, also for CHF 352 (Swiss Francs), at the following site:
www.iso.org
Prices are subject to change.
• The C++ FAQ Lite site for frequently asked questions (in English, Chinese, French, Russian, and Portuguese) is a slimmed-down version of the book by Cline, et al. Currently it has the following URL:
• You can find a moderated discussion of C++ questions in the following newsgroup: comp.lang.C++.moderated.
• You can find information about specific C++ topics by using Google, Bing, and other search engines.