This is the code repository for my book C++20 - Get the Details.
It has more than 200 running examples. The names of the directories reflect the names of the chapters in the book. I put the name of the source file in the title of each source code example.
Use the following link C++20 - Get the Details and download it as a pdf, kindle, epub book. You can also read it online.
The book is also available in printed form. Here are a few links:
US, UK, DE, FR, ES, IT, JP, and CA
The book will be printed in Korean. I assume that it also will be available in German, and Russian.
C++20 is the next big C++ standard after C++11. As C++11 did it, C++20 changes the way we program modern C++. This change is, in particular, due to the big four of C++20: ranges, coroutines, concepts, and modules.
-
Concepts change the way we think and program templates. They are semantic categories for the template parameters. They enable you to express your intention directly in the type system. If something goes wrong, you get a clear error message.
-
The new ranges library enables it to perform algorithms directly on the container, compose the algorithm with the pipe symbol, and apply them onto infinite data streams.
-
Thanks to coroutines asynchronous programming in C++ becomes mainstream. Coroutines are the base for cooperative tasks, event loops, infinite data streams, or pipelines.
-
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 built time and an easier way to build packages.
If you want to know more about my book, please visit C++20 - Get the Details.