C++20 - A Full Overview with Practical Examples

Nicolai Josuttis

one day workshop
10:30-19:15, Wednesday, 30th June 2021

C++20 is the brand new release of C++ and is currently implemented by major compilers.

C++20 is huge. It will change the way we program more than C++11 did. As usual, not everything is self-explanatory, combining new features gives even more power, and there are hidden traps. So, the key question is what this means in practice.

This workshop will go through all major and important minor features of C++20, introduce them conceptionally, and give first examples how to use them in practice. As a member of the C++ standards committe, the trainer will also give useful background information about purpose and design decisions.

I will go with concetional slides and real code examples (as far as compilers support it) over the following topics of C++20:

  • C++20 in General
  • Spaceship Operator
  • Generic Functions
  • Concepts and Requirements
  • Ranges and Views (incl. Spans)
  • Modules
  • Coroutines
  • New Concurrency Features (jthread, stop tokens, barriers, semaphores, latches)
  • Formatted output library
  • Chrono extensions
  • New Compile-Time Features (constinit, consteval, compile time new/strings/vectors)
  • Other small Features

If possible, cool example will also demonstrate the combination of multiple new features.

Nicolai Josuttis

Nicolai Josuttis (www.josuttis.com) is well known in the C++ Community for speaking and writing with authority about C++ (being the author of "The C++ Standard Library", "C++ Templates" (coauthor), and "C+++17 - The Complete Guide") but is also an innovative presenter. He is an active member of C++ standardization committee for more than 20 years now.