Embracing Modern C++ Safely
內容描述
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 a large-scale, diverse software development environment. The book uses examples derived from real code bases to illustrate every finding objectively and to illuminate key issues. The authors identify the sound use cases, hidden pitfalls, and shortcomings of each 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.
作者介紹
Dr. John Lakos is a senior architect and mentor for software development at Bloomberg LP, where he created the BDE team (c. 2001), which maintains Bloomberg's open-source foundation libraries for C++ development worldwide. He is the author of Large-Scale C++ Software Design and Large-Scale C++ Volume I: Process and Architecture (both from Addison-Wesley), and is an active voting member of the C++ Standards Committee.
Vittorio Romeo is a senior software engineer at Bloomberg, building mission-critical C++ middleware and training colleagues on modern C++. He is also the creator of many open-source C++ libraries and games.
Dr. Rostislav Khlebnikov is a team lead and senior software engineer in Bloomberg's BDE team, where he directs the development of high-performance C++ foundation software.
Alisdair Meredith is a senior software engineer in Bloomberg's BDE team and a long-standing member of the C++ Standards Committee, where he was the Chair of its Library Working Group between 2010 and 2015.