Logo

Blog


C++

C++20s concepts with a forward declared type

In today's post, I would like to continue talking about forward declared or better incomplete types in C++. [...]
C++

Forward declaring a type in C++: The good, and the bad

In today's post, I would like to shed some light on the implications of forward declaring a type in C++. [...]
C++

Efficient C++: The hidden compile-time cost of auto return types

In today's post, I would like to dive into writing efficient C++ code. As you probably know, one post will not cover this entire topic. For today's post, I like to focus on [...]
C++

C++26 reflection at compile-time

In today's post, I like to talk about C++26 and one of the probably most impactful features that have been added to the working draft. While C++26 is still some months away from [...]
C++

A virtual destructor in C++, when?

In today's post, I would like to explain a design rationale used in my post Understanding the inner workings of C++ smart pointers - The shared_ptr. [...]
C++

C++ unspecified behavior explained by practical example

In today's post, I like to talk about unspecified behavior in C++. While there are other sorts of behavior in our language, I'll stick with the one today and may cover the others [...]
C++

An option(al) to surprise you

In today's post I share a learning of a customer with you. A while back, a customer asked me to join a debugging session. They had an issue they didn't (fully) understand. [...]
C++

The correct way to do type punning in C++ - The second act

Last time, I wrote about type-punning in C++ and how C++20's std::bit_cast can help you. Today, I want to discuss a different reason for type-punning where std::bit_cast might not [...]
C++

The correct way to do type punning in C++

Today's post is relevant for everybody who does type punning in C++. Something I did for years while working in the embedded software domain. Something others have done for a long [...]
C++

2025 updates

I made a couple of changes in 2025. Here is a brief outline. [...]