Autor:
John Lakos, Vittorio Romeo, Rostislav Khlebnikov, Alisdair Meredith
Erscheinungsdatum:
16.12.2021
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.
Autorentext
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.
Klappentext
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.
Inhalt
Foreword by Shawn Edwards xiii Foreword by Andrei Alexandrescu xv Acknowledgments xix About the Authors xxv Chapter 0: Introduction 1 What Makes This Book Different 1 Scope for the First Edition 2 The EMC++S Guiding Principles 3 What Do We Mean by Safely? 4 A Safe Feature 5 A Conditionally Safe Feature 5 An Unsafe Feature 6 Modern C++ Feature Catalog 6 How to Use This Book 8 Chapter 1: Safe Features 11 1.1 C++11 11 Attribute Syntax | Generalized Attribute Support 12 Consecutive >s | Consecutive Right-Angle Brackets 21 decltype | Operator for Extracting Expression Types 25 Defaulted Functions | Using = default for Special Member Functions 33 Delegating Ctors | Constructors Calling Other Constructors 46 Deleted Functions | Using = delete for Arbitrary Functions 53 explicit Operators | Explicit Conversion Operators 61 Function static '11 | Thread-Safe Function-Scope static Variables 68 Local Types '11 | Local/Unnamed Types as Template Arguments 83 long long | The long long (=64 bits) Integral Type 89 noreturn | The [[noreturn]] Attribute 95 nullptr | The Null-Pointer-Literal Keyword 99 override | The override Member-Function Specifier 104 Raw String Literals | Syntax for Unprocessed String Contents 108 static_assert | Compile-Time Assertions 115 Trailing Return | Trailing Function Return Types 124 Unicode Literals | Unicode String Literals 129 using Aliases | Type/Template Aliases (Extended typedef) 133 1.2 C++14 138 Aggregate Init '14 | Aggregates Having Default Member Initializers 138 Binary Literals | Binary Literals: The 0b Prefix 142 deprecated | The [[deprecated]] Attribute 147 Digit Separators | The Digit Separator (') 152 Variable Templates | Templated Variable Declarations/Definitions 157 Chapter 2: Conditionally Safe Features 167 2.1 C++11 167 alignas | The alignas Specifier 168 alignof | The alignof Operator 184 auto Variables | Variables of Automatically Deduced Type 195 Braced Init | Braced-Initialization Syntax: {} 215 constexpr Functions | Compile-Time Invocable Functions 257 constexpr Variables | Compile-Time Accessible Variables 302 Default Member Init | Default class/union Member Initializers 318 enum class | Strongly Typed, Scoped Enumerations 332 extern template | Explicit-Instantiation Declarations 353 Forwarding References | Forwarding References (T&&) 377 Generalized PODs '11 | Trivial and Standard-Layout Types 401 Inheriting Ctors | Inheriting Base-Class Constru…
Leider konnten wir für diesen Artikel keine Preise ermitteln ...
billigbuch.ch sucht jetzt für Sie die besten Angebote ...
Die aktuellen Verkaufspreise von
6 Onlineshops werden
in Realtime abgefragt.
Sie können das gewünschte Produkt anschliessend direkt beim Anbieter Ihrer Wahl bestellen.
# |
Onlineshop |
Preis CHF |
Versand CHF |
Total CHF |
|
|
1 |
Seller |
0.00 |
0.00
|
0.00 |
|
|
Onlineshops ohne Resultate: