C++ is popular for its incredible performance and suitability for operating systems, games, embedded software, and more. This course gets you up-to-date with the very latest components in C++20/C++2a so you can harness its new enhancements and get ahead of the game by leveraging its features!
We cover what C++20/C++2a is and the current standardization status. We also discover some new syntactic sugars that enable you to write shorter but more powerful code. You'll learn about the new and improved ranges and iterators, explore key examples of filter stacking, and learn how ranges simplify iterator-heavy code. Crucially, you'll master how to migrate to C++20/C++2a in the easiest possible way, and why you should!
C++20/C++2a brings new features to the synchronization library, including atomic smart pointers, latchers, and barriers. We review its all-new coroutines (a major concept found in other leading programming languages that simplifies writing code for parallel execution).
By the end of the course, you'll use up-to-date insights into the full features of C++20/C++2a to facilitate efficient and fast coding within your own projects.
What You Will Learn
- Migrate a project on older versions of C++ to C++20/C++2a
- Code more efficiently with string and numbers
- New and better ways to work with string formatting using the new std::format in C++20/C++2a
- Implement the new comparison operator on the core language and use a custom example in user-defined types
- Discover newly improved synchronization and thread coordination, including support for efficient atomic waiting, lock-free integral types, and more
- Use concepts to perform compile-time validation of template arguments and perform function dispatches based on type properties
This course is ideal for developers who are already proficient in C++ (previous versions) and want to get up-to-date with the latest C++20/C++2a version and its features and benefits.
About The Author
Daniel Zawadzki: Daniel Zawadzki is a software developer with 15 years' experience. His career has mostly focused on embedded development for various devices such as phones, set-top boxes, and mobile telephony base stations, though he did make a slight detour into investment banking along the way. His language of choice (he has over 5 years' experience with it) is C++ because of its efficiency and predictable resource usage. Currently, his interests revolve around the architecture of distributed systems. He lives in Wrocaw, Poland.
Table of contents
- Chapter 1 : Getting Started with C++20
- Chapter 2 : String Formatting Using New std::format
- Chapter 3 : Ranges - Iterators Reinvented
- Chapter 4 : New Comparison Operator =>
- Chapter 5 : Modules
- Chapter 6 : Implementing Concepts
- Chapter 7 : New Synchronization Library Extensions
- Chapter 8 : Coroutines
- Chapter 9 : Other Features and Improvements
- Title: C++ 20 (2a) New Features
- Release date: February 2020
- Publisher(s): Packt Publishing
- ISBN: 9781839216909
You might also like
C++ Standard Template Library in Practice
Gain insights into the C++ STL using real-world examples About This Video Explore the latest C++ …
Practical C++20 Financial Programming: Problem Solving for Quantitative Finance, Financial Engineering, Business, and Economics
Apply C++ to programming problems in the financial industry using this hands-on book, updated for C++20. …
Software Architecture for Busy Developers
A quick start guide to learning essential software architecture tools, frameworks, design patterns, and best practices …
In today’s fast and competitive world, a program’s performance is just as important to customers as …