Getting Started

Get introduced to the course and author in this lesson.

About this course

This course is both a tutorial and a reference. It teaches you C++20 and provides you with the details of this new thrilling C++ standard. The thrill factor is mainly due to the big four of C++20:

  • Concepts change the way we think about and program with templates. They are semantic categories for template parameters. They enable you to express your intention directly in the type system. If something goes wrong, the compiler gives you a clear error message.

  • Modules overcome the restrictions of header files. They promise a lot. For example, the separation of header and source files becomes as obsolete as the preprocessor. In the end, we have faster build times and an easier way to build packages.

  • The new ranges library supports performing algorithms directly on the containers, composing algorithms with the pipe symbol, and applying algorithms lazy on infinite data streams.

  • Thanks to coroutines, asynchronous programming in C++ becomes mainstream. Coroutines are the basis for cooperative tasks, event loops, infinite data streams, or pipelines.

Of course, this is not the end of the story. Here are more C++20 features:

  • Auto-generated comparison operators
  • Calendar and time-zone libraries
  • Format library
  • Views on contiguous memory blocks
  • Improved, interruptible threads
  • Atomic smart pointers
  • Semaphores
  • Coordination primitives such as latches and barriers

Get hands-on with 1200+ tech skills courses.