C++20: The Small Pearls
C++20 has way more to offer than the big four concepts, ranges, modules, and coroutines. Here are a few of the shining pearls. The spaceship operation automatically creates the six comparison operators. Thanks to consteval, constinit, and improved templates, programming at compile time becomes more powerful. std::span supports safe access to contiguous memory blocks. An enhanced time library and a new type date. Comfortable formatting of data thanks to std::format. Easily synchronize or coordinate threats with semaphores or latches and barriers. An improved thread that maintains itself and supports interruption. Thanks to the synchronized output streams, write operations in the concurrent environment do not end in a mess.
I've worked as a software architect, team lead, and instructor since 1999. In 2002, I created company-intern meetings for further education and have given training courses since 2002. My first tutorials were about proprietary management software, but I began teaching Python and C++ soon after. In my spare time, I like to write articles about C++, Python, and Haskell, and to speak at conferences. I publish weekly on my English blog Modernes Cpp and the German blog, hosted by Heise Developer. Since 2016, I'm an independent instructor giving seminars about modern C++ and Python. In the last ten years, I published several books in various languages about modern C++. Due to my profession, I always search for the best way to teach modern C++.