Best C++ Programming Books
Learning to program C++ is not what I would call a simple task. Finding books that present the information at your level of comprehension is important. Beginners need a simple step-by-step presentation that an experienced programmer is likely to find boring. The collection of book listed below is oriented towards individuals with some existing experience and programming knowledge. The texts are considered to be among the best available, and will move you through the intermediate stages and into the advanced.
Most texts on programming C++ fit into one of three categories: the standard C++ language definition, using STL (Standard Template Library), and using features that are not part of the standard library like Microsoft C++/CLI, or the Boost C++ Library. All three are important aspects of C++ programming, but this list is focused primarily on the first two, namely using the standard C++ language and STL.
Language Specification and Introduction
For those just beginning to learn C+, possibly as a second language, the book “C++ How to Program” by Deitel & Deitel is good, or “Ivor Horton’s Beginning Visual C++” for those using Visual Studio. Both cover a wide range of topics and do not require any preexisting programming experience.
If you already have some programming experience and want your information from an authorative source, “The C++ Programming Language” by Bjarne Stroustrup, and “C++ Primer” by Stanley Lippman are excellent reference texts. If you want to know who wrote the book on C++, they did! The only more authorative source is the ANSI C++ specifications, and that makes for very dry reading.
To fill out your understanding of the standard library “C++ Coding Standards” by Sutter, and “The C++ Standard Library” by Josuttis fits the bill. They will fill in the any gaps left from reading Stroustrup and Lippman.
The Standard Template Library and Extensions
Probably the most successful author on C++ and STL style is Scott Meyers. His books “Effective C++” and “Effective STL” give clear guidance on what works and does not work and why. Also recommended is “Modern C++ Design” by Andrei for a discussion on templates and generic programming, and “Accelerated C++” by Koenig and Moo, for a rapid survey of good programming style.
The book “C++ Cookbook” has been included because the O’Reilly cookbook series is one of the most practical in the industry. The C++ Cookbook is not the greatest in the series, but is a worthwhile companion reference for basic C++ programming techniques.
Most notably missing from the list are texts that describe the use of the Boost C++ Library. Boost is one of the most widely used professional C++ libraries and provides enhanced functionality to C++ that programmers have come to expect from other languages. For example, Regular Expressions are included in the Boost Library, as well as robust user input handling functions, and many, many more. See the Boost web site for more information at: http://www.boost.org/
Conclusion
No book will make you a C++ programming expert. Only experience can do that. But the right books can make the process of getting that experience much faster and easier. Not everyone agrees what the best texts are, but the merits of the books listed here are time tested and proven. Most have undergone multiple editions and have been in use for a decade or more, helping thousands of programmers learn the ropes and become successful C++ developers. With some effort and patience you can become one of them.
Bibliography
- Alexandrescu, Andrei. (2001) Modern C++ Design: Generic Programming and Design Patterns Applied. Addison Wesley.
- Cogswell, Diggins, Stephens & Turkanis. (2005). C++ Cookbook. O’Reilly.
- Deitel, Paul & Deitel, Harvey. (2007). C++ How to Program, 6th Ed. Prentice Hall.
- Horton, Ivor. (2006). Ivor Horton’s Beginning Visual C++ 2005. Wrox.
- Josuttis, Nicolai. (1999). The C++ Standard Library: A Tutorial and Reference. Addison Wesley.
- Koenig, Andrew & Moo, Barbara. (2000). Accelerated C++: Practical Programming by Example. Addison Wesley.
- Lippman, Stanley. (2005). C++ Primer, 4th Ed. Addison Wesley.
- Meyers, Scott. (2005). Effective C++: 55 Specific Ways to Improve Your Programs and Designs, 3rd Ed. Addison Wesley.
- Meyers, Scott. (2001). Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library. Addison Wesley.
- Stroustrup, Bjarne. (2000). The C++ Programming Language. Addison Wesley.
- Sutter, Herb. (2004). C++ Coding Standards: Rules, Guidelines, and Best Practices. Addison Wesley.
Tags: Books, C++, Programming


























[…] Learning to program C++ is not what I would call a simple task. Finding books that present the information at your level of comprehension is important. Beginners need a simple step-by-step presentation that an experienced programmer is … read more […]