The C++ development language has been used for years, but some of its best secrets are still buried, waiting to be discovered and implemented. These four books offer varying approaches to C++, from a beginner’s guidebook to more advanced books that teach developers how to better exploit the power, flexibility and security that lurks beneath the surface of C++.
Secure Coding in C and C++, by Robert C. Seacord, Addison-Wesley, 2006, US$39.99, 341 pages. This guide to writing more-secure code focuses on preventing fundamental programming errors that can lead to the most common and dangerous security vulnerabilities in C and C++ code.
The book is filled with real-world examples, including detailed steps for preventing the buffer overflows and hacker attacks that are possible through the incorrect use of dynamic memory management functions. It also features sections on notable security vulnerabilities and their mitigation strategies, as well as information on practices that could help you improve your code writing.
Beyond the C++ Standard Library: An Introduction to Boost, by Bjorn Karlsson, Addison-Wesley, 2005, US$49.99, 388 pages. This guide to the 58 Boost libraries that have been created to extend development capabilities for C++ developers provides extremely detailed descriptions about the 12 Boost libraries that are most useful.
The book covers a wide range of subjects, including numeric libraries, smart pointers, a preprocessor library and more.
The sections on each of the featured libraries include details on how the libraries can be used to improve code and how to avoid common problems. While the book glosses over the other 46 Boost libraries with little more than brief descriptions, it breaks down the 12 most important ones into their essential elements to help you take advantage of the power of Boost.
Effective C++ Third Edition: 55 Specific Ways to Improve Your Programs and Designs, by Scott Meyers, Addison-Wesley, 2005, US$44.99, 297 pages. This C++ guide offers insights into using C++ code effectively to create efficient, portable and maintainable code for your software development projects.
It includes 55 ultradetailed suggestions for established developers for improving programs written in C++. It’s not a guide to getting started from the ground up in the language.