C++23 in Practice: A Complete Introduction
Nicolai M. Josuttis
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 two-days workshop 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.
Outline
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
Nicolai M. Josuttis
Nicolai Josuttis (www.josuttis.com) is well-known in the community for his authoritative books and talks. For more than 25 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)