Book description
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.
Table of contents
- Cover Page
- About This eBook
- Halftitle Page
- Title Page
- Copyright Page
- Pearson’s Commitment to Diversity, Equity, and Inclusion
- Dedication Page
- Contents
- Foreword by Shawn Edwards
- Foreword by Andrei Alexandrescu
- Acknowledgments
- About the Authors
- Chapter 0. Introduction
-
Chapter 1. Safe Features
-
1.1 C++11
- Attribute Syntax
- Consecutive >s
- decltype
- Defaulted Functions
- Delegating Ctors
- Deleted Functions
- explicit Operators
- Function static ’11
- Local Types ’11
- long long
- noreturn
- nullptr
- override
- Raw String Literals
- static_assert
- Trailing Return
- Unicode Literals
- using Aliases
- Aggregate Init ’14
- Binary Literals
- 1.2 C++14
-
1.1 C++11
-
Chapter 2. Conditionally Safe Features
-
2.1 C++11
- alignas
- alignof
- auto Variables
- Braced Init
- constexpr Functions
- constexpr Variables
- Default Member Init
- enum class
- extern template
- Forwarding References
- Generalized PODs ’11
- Inheriting Constructors
- initializer_list
- Lambdas
- noexcept Operator
- Opaque enums
- Range for
- Rvalue References
- Underlying Type ’11
- User-Defined Literals
- Variadic Templates
- 2.2 C++14
-
2.1 C++11
- Chapter 3. Unsafe Features
- Afterword: Looking Back and Looking Forward
- Glossary
- Bibliography
- Index
- Code Snippets
Product information
- Title: Embracing Modern C++ Safely
- Author(s):
- Release date: December 2021
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780137380411
You might also like
book
Discovering Modern C++, 2nd Edition
Write Powerful, Modern C++ Code for Scientific, Engineering, and Embedded Applications Discovering Modern C++, Second Edition, …
book
Effective Modern C++
Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with …
video
Complete Modern C++ (C++11/14/17)
This course provides an extensive exploration of C++. The journey starts with mastering the syntax and …
book
Modern CMake for C++
Write comprehensive, professional-standard CMake projects and ensure the quality and simplicity of your solutions Purchase of …