Maximize Reward and Minimize Risk with Modern C++
Embracing Modern C++ Safely shows you how to make effective use of the new and enhanced language features of modern C++ without falling victim to their potential pitfalls.
Based on their years of experience with large, mission-critical projects, four leading C++ authorities divide C++11/14 language features into three categories: Safe, Conditionally Safe, and Unsafe. Safe features offer compelling value, are easy to use productively, and are relatively difficult to misuse. Conditionally safe features offer significant value but come with risks that require significant expertise and familiarity before use. Unsafe features have an especially poor risk/reward ratio, are easy to misuse, and are beneficial in only the most specialized circumstances.
This book distills the C++ community's years of experience applying C++11 and C++14 features and will help you make effective and safe design decisions that reflect real-world, economic engineering tradeoffs in large-scale, diverse software development environments. The authors use examples derived from real code bases to illustrate every finding objectively and to illuminate key issues. Each feature identifies the sound use cases, hidden pitfalls, and shortcomings of that language feature. After reading this book, you will
- Understand what each C++11/14 feature does and where it works best
- Recognize how to work around show-stopping pitfalls and annoying corner cases
- Know which features demand additional training, experience, and peer review
- Gain insights for preparing coding standards and style guides that suit your organization's needs
- Be equipped to introduce modern C++ incrementally and judiciously into established code bases
Seasoned C++ developers, team leads, and technical managers who want to improve productivity, code quality, and maintainability will find the insights in this modular, meticulously organized reference indispensable.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
In Embracing Modern C++ Safely, John Lakos and Vittorio Romeo analyze each core language feature of GaModern C++GG (introduced by C++11 and C++14), illuminating exactly what developers and teams must know to succeed. Lakos and Romeo present extensive real-life code examples; thoroughly describe pitfalls that arise when engineers with diverse experience use these features together, and illuminate issues that repeatedly occur in real-world application development. Drawing on their extensive C++ experience, they focus on major features of C++ 14 and C++ 11 that have been around long enough to be thoroughly evaluated. You will learn which GamodernGG features are safe under almost all circumstances; which carry a real risk of misuse and suboptimal results if programmers are improperly educated and trained; and which are generally Gaunsafe,GG and should be used rarely if at all. If you are ready to safely make the most of Modern C++, the in-depth, hands-on insights from this guide will help you improve your productivity and build far more robust software.