Write robust and efficient code using the latest version of C++
Port your C++ code to the latest version and save time and effort
Discover new coroutines that simplify writing code that executes in parallel
In Detail
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 (2a) New Features
Video description
Get up to date with what's new in C++
About This Video
Write robust and efficient code using the latest version of C++
Port your C++ code to the latest version and save time and effort
Discover new coroutines that simplify writing code that executes in parallel
In Detail
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.
Audience
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.
Chapter 2 : String Formatting Using New std::format
Rationale for std::format
std::format: Placeholders and Syntax
std::format_to and std::format_to_n
Formatting User Defined Types
Migrating Stdio and Iostreams to std::format
Chapter 3 : Ranges - Iterators Reinvented
Rationale for Ranges
What’s New in Ranges
Using Ranges
Composing Ranges
Chapter 4 : New Comparison Operator =>
Rationale Behind New Comparison Operator
Usage of => Operator and How to Make Comparisons
Rewriting and Synthetizing Expressions
Associated Changes in Operator==
Returning Value of the Spaceship Operator
Chapter 5 : Modules
Rationale Behind the Modules
How to Define a Module
Partitioning of Modules
Compiling and Linking Modules into an Executable
Chapter 6 : Implementing Concepts
Rationale Behind Concepts
Concepts as Compile Time Predicates
Defining Own Concepts
Concepts Library
Chapter 7 : New Synchronization Library Extensions
Atomic Smart Pointers
Efficient Atomic Waiting
Lightweight Access Coordination
Latches and Barriers
Chapter 8 : Coroutines
The Rationale Behind Coroutines
Concept of Splitting Execution State and the Thread of Execution
Coroutine Anatomy
Generator Expressions
Example of Use
Chapter 9 : Other Features and Improvements
Using Enum
Improvements to Lambda Expressions
Designated Initializers
constexpr Extensions
Course Summary
Start your Free Trial Self paced Go to the Course We have partnered with providers to bring you collection of courses, When you buy through links on our site, we may earn an affiliate commission from provider.
This site uses cookies. By continuing to use this website, you agree to their use.I Accept