When you enroll through our links, we may earn a small commission—at no extra cost to you. This helps keep our platform free and inspires us to add more value.

This Course Includes
udemy
4.7 (3 reviews )
10.5 total hours
english
Online - Self Paced
course
Udemy
About Pure C++ 20 - raw & unfiltered
Update: [9-Nov-2024] Added more videos with examples of views in Ranges section
This course only focuses on the new C++20 standard features without going into the basics or details of previous standards of C++ or basics of object-oriented programming. You must've some basic understanding of C++11 in order to follow through in this course. In case, you're not familiar with modern C++ features, check out my other course called Complete Modern C++.
This course will aim to explain the new core language & the library features. You'll learn to use designated initializers, consteval, consinit, unevaluated constext usage of lambda expressions, enum usage, etc. You'll also get to know about the new way through which C++ code is reused without using header files. This is possible through modules, which is a faster and easier way to reuse existing functions or classes.
If you implement classes for use with containers, then you'll have to provide implementation of many comparison operators which becomes tedious and error-prone. C++20 provides a new operator called the three-way comparison operator (space-ship operator) that simplifies implementation of comparison operators. Additionally, it now becomes easier to use algorithms with containers through ranges. No need to use begin() & end() functions to operate on the container.
Concepts is a new way of applying constraints on template arguments. It is much simpler to use as compared to SFINAE (enable_if). Learn & implement concepts to ensure your functions accept the right kind of arguments and avoid runtime errors.
Finally, you'll learn about resumable functions, called coroutines. Using coroutines, you can write concurrent code without the need for synchronization or multiple threads. This enables you to write high performance code without the overhead of creating & destroying threads.
If you're ready, then let's get started right away.
What You Will Learn?
- Learn about the new C++20 language standard features.
- Migrate existing C++ codebase to C++20.
- Use coroutines to write concurrent code.
- Use modules instead of headers to modularize software.
- Use ranges library to simplify working with containers & algorithms.
- Use concepts to apply constraints on algorithms & classes.
