C++
C++20 Concepts applied - Safe bitmasks using scoped enums
In 2020 I wrote an article for the German magazine iX called Scoped enums in C++. In that article, I shared an approach of using class enums as bitfields without the hassle of [...]
C++
When an empty destructor is required
In last month's post Why you shouldn't provide an empty destructor, I taught you the difference between user-provided and user-declared. I hope you remember the conclusion; never [...]
C++
Why you shouldn't provide an empty destructor
Today's post is a written version of C++ Insights episode 38 I published back in May. I decided to write this post to be able to use what I teach you in next month's post. In case [...]
C++
Using C++23s constexpr unique_ptr
Back in 2022, my paper P2273R3: Making std::unique_ptr constexpr was accepted for C++23. All the time, I planned to provide an implementation for libc++ but never found the time. [...]
C++
Best Speaker Award
I'm very pleased to tell you that I received a Best Speaker Award from a German conference ESE Kongress for my talk "C++ 20 Templates - Die nächste Generation" I presented there [...]
C++
Control your numbers in C++
Today's post is probably easier and shorter than usual. But that doesn't mean the feature is any less powerful. [...]
C++
A strongly typed bool
Today I like to share a pattern I have used for some time. The pattern is generally well-received whenever I present it during one of my training courses. I still don't know [...]
C++
Visiting a std::variant safely
I assume you all know C++17's type-safe replacement for unions: std::variant. Here you look at a great replacement for unions as it knows the active type and destructs that object [...]
C++
constexpr functions: optimization vs guarantee
The feature of constant evaluation is nothing new in 2023. You have constexpr available since C++11. Yet, in many of my classes, I see that people still struggle with constexpr [...]
C++
Evaluation order in C++ and uniform initialization
In today's post, you learn or get reminded about an interesting benefit of uniform initialization. [...]