Logo

Blog


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. [...]