C++23 in Practice: A Complete Introduction is a three-day online training course with programming examples, taught by Nicolai Josuttis, one of our most popular instructors. It is offered online from 09:00 to 15:00 Aurora time (MDT), 11:00 to 17:00 EDT, 17:00 to 23:00 CEST, Monday through Wednesday, September 21st – 23rd, 2026 (following the conference).
◈ Register Here ◈ See Other Offerings ◈
Course Description
C++23 is now fully available by major C++ compilers so that more and more projects and companies are using it. Therefore, it is time to look at the contents of C++23 (new features and significant extensions in both the language and the standard library).
This three-days training introduces and discusses all major language and library features of C++23. The goal is to be ready to use them in practice and benefit from their purpose and design in your day-to-day work.
Many features extend C++20 features and make them (more) usable in practice. For example, std::generator is the first interface class to deal easily with coroutines, so that C++23 introdcues a new paradigm to implement generators and state machines. For these topics, the basics of C++20 will be part of this training.
As usual for his trainings and books, Nicolai Josuttis will focus on both the design and the practical usability of the new features. Attendees will understand why we have them and how to use them right. As a long-term active member of the C++ Standard Commitee and well-known educator, the quality of this training will give you the best revenue for understanding, use, and avoiding the traps of C++23.
Prerequisites
Students are expected to have a basic knowledge of Modern C++. You do not have to know C++20 (necessary aspects to understand C++23 will be part of this training).
Students are not required to bring any laptop. We will go through code examples together with the laptop of the presenter.
Course Topics
We will cover the following topics:
- Formatted output extensions
- std::print() and std::println()
- std::generator<> coroutine interface
- std::expected<>
- Monadic operations
- std::stacktrace
- New standard views
- Using views in practice (const, sorting, moving)
- The filter view fiasco
- std::mdspan
- Multidimensional operator []
- The range-based for loop fix
- Deducing this and recursive lambdas
- auto(x)
- if consteval
- Module std
- std::flat_set and std::flat_map
Course Instructor

Nicolai Josuttis is a well-known in the community for his authoritative books and talks. For more than 20 years he has been a member of the C++ Standard Committee. He is the author of several worldwide best-sellers, including:
- C++23: The Complete Guide
- C++20: The Complete Guide
- C++17: The Complete Guide
- C++ Move Semantics: The Complete Guide
- The C++ Standard Library: A tutorial and Reference
- C++ Templates: The Complete Guide (w/ David Vandevoorde & Doug Gregor)