Class - C++20: Five Features in Five Weeks


Join the live virtual workshop series that makes it easy for you to dive into the new world of C++20. You learn how to apply the significant C++20 features quickly in your workplace.

What you get

C++20: Five Features in Five Weeks is a live virtual workshop series specifically designed for your needs. In five 2 hours learning sessions, we will look at five different features of C++20! Each workshop is 2 hours long to address the most interesting parts of a C++20 feature, bringing you quickly up to speed to start applying a feature in your code-base.

Pick the features you need! No obligation to book all five sessions. You can pick the features that are interesting for you and book only these workshops.

The entire series goes over five weeks, teaching you a new C++20 feature every week. The 2 hours are perfect to learn something new, whether during your workday or after hours. You can decide to skip one or more features and pay only for what you need.

The schedule

March 30: Concepts

You learn how Concepts work and how to create your own Concept. Your learning continues with a look at a new form of writing function templates: abbreviated function templates. In the end, you learn how Concepts improve error messages.

April 6: Coroutines

You learn to rethink how function calls work and how regular functions compare to Coroutines. After that, you familiarize yourself with the low-level Coroutine API C++20 offers. You then learn how to use that knowledge to build a byte-stream parser using a Coroutine.

April 13: Ranges

In this workshop, you will learn how refactoring C++17 code becomes clearer by applying C++20's Ranges. You will also learn about the improvements Ranges give you, like unintentional use of a temporary which is no longer valid.

April 20: spaceship-operator

This workshop is all about comparisons. It starts with a recap of what you had to do before C++20, followed by how your code now boils down to just a few lines of code using the spaceship-operator and a new compiler ability call operator-rewrites. You will then learn about some situations where upgrading C++17 code could lead to unexpected issues.

April 27: constexpr

The evolution of constexpr continues in C++20. You will learn the new application areas for constexpr, like allocating memory with new and delete in a constexpr-function. But this isn't it. You then will learn about two new members of the constexpr-world: constinit and consteval. In the end, you will be able to set all three in a complete picture knowing which one of them to use when best.

After attending each workshop, you have a good understanding of Concepts, Coroutines, Ranges, the spaceship-operator, and the new things in the constexpr-world.

All workshops take place at 18:30 UTC+2.

Next open-enrollment class: March 30 - April 27, 2021

About the format

We will use zoom as the platform. You get my usual in-person class experience. While I will present the features, you can ask questions. When you have enough new knowledge of a feature, I will hand you an exercise. I will then send you to breakout rooms in small groups to work on the exercise. Usually for approx. 15 minutes.

The goal of this class, among of teaching you C++20, is your convenience. Each workshop consists of 2 hours, including a 15-minute break. You can either book the entire five workshops or pick the individual topics of your interest.

The booking

Each workshop is 77 EUR +VAT. If you book the entire five workshop experience, you get a complimentary digital copy of my latest book, Programming with C++20, currently sold for 19.99 EUR.

Programming with C++20

Included in this course are

  • A handout as color PDF, which includes all references and an acronyms list;*
  • The source code for the exercises as well as sample solutions for all exercises as a zip-file;*
  • Certificate of attendance;*
  • A complimentary digital copy of my C++20 book Programming with C++20 if you book all five workshops.

*Note that you get these only for the workshops you booked.

Next open-enrollment class: March 30 - April 27, 2021