Pure C++ 20 - raw & unfiltered
C++20 without the fluff and baggage of old C++
Pure C++ 20 - raw & unfiltered free download
C++20 without the fluff and baggage of old C++
Update [12-Dec-2024] Added content on new C++20 library features & classes
Update [07-Dec-2024] Added concurrency support videos
Update [26-Nov-2024] Added quiz for all sections
Update [09-Nov-2024] Added more videos with examples of views in Ranges section
THE MOST IN-DEPTH COURSE ON C++20.
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.
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.
