TimelineCpp20CoreLanguage

Various Template Improvements with C++20

/
Admittedly, I present in this post a few minor improvements to templates and C++20 in general. Although…
TimelineCpp20

Solving the Static Initialization Order Fiasco with C++20

/
According to the FAQ of isocpp.org is the static initialization order fiasco "a subtle way to crash…
TimelineCpp20

Two new Keywords in C++20: consteval and constinit

/
With C++20, we get two new keywords: consteval and constinit. consteval produces a function executed…
TimelineCpp20

Designated Initializers

/
Designated initialization is an extension of aggregate initialization and empowers you to directly initialize…
TimelineCpp20

C++20: Optimized Comparison with the Spaceship Operator

/
In this post, I conclude my miniseries on the three-way comparison operator with a few subtle details.…
TimelineCpp20

C++20: More Details to the Spaceship Operator

/
The compiler performs cleverly when it generates all six comparison operators. Ultimately, you get intuitive…
TimelineCpp20

C++20: The Three-Way Comparison Operator

/
The three-way comparison operator <=> is often just called the spaceship operator. The spaceship…
TimelineCpp20

C++20: Further Open Questions to Modules

/
So far, I have written in my last four posts the basics you should know about modules in C++20. Only…

C++20: Structure Modules

/
When your module becomes bigger, you want to divide its functionality into manageable components. C++20…

C++20: Module Interface Unit and Module Implementation Unit

/
Thanks to the module interface unit and implementation unit, you can separate the interface from the…