Logo

Blog


YEAR: 2022

C++

Use your programming language

In today's post, you will learn about what that language part of programming language means. [...]
C++

5 Things you and your C++ team can Do Differently

In the past months, I received requests from clients like: [...]
Conference

CppCon C++20’s Coroutines for Beginners - Video is available

The video of my first talk from CppCon 2022 is available on Youtube: [...]
C++

C++17's CTAD a sometimes underrated feature

In today's post, I like to look at C++17's Class Template Argument Deduction (CTAD) feature and see how it changes our code. [...]
C++

Use namespaces

Today's post is motivated by some past discussion that came up during standardization. The renaming of two views back to their originally proposed names P2501R0. One was a rename [...]
Publications

Code formatting for a programming book

As you might know, I've published a book about C++20 called Programming with C++20. In the course of writing this book, several topics have been raised, which I like to share here [...]
C++

C++23 - std::expected, the superior way of returning a value or an error

In today's post, I like to jump in time and fast forward to what is coming with C++23, a new data type in the STL std::expected (P0323). The idea behind this data type isn't new. [...]
Publications

Book: Programming with C++20 - Updated GitHub code examples

It's been nearly one year since I published Programming with C++20 - Concepts, Coroutines, Ranges, and more. Time to check how compilers have improved in terms of C++20 support. [...]
C++ Insights

C++ Insights: Lambdas in unevaluated contexts

About two weeks ago, I added support for P0315R4: Lambdas in unevaluated contexts, to C++ Insights. [...]
C++ Insights

C++ Insights lambda hunt

Let's do something special today! Last week I added support for P0315R4: Lambdas in unevaluated contexts. [...]
C++

The power of ref-qualifiers

In today's post, I discuss an often unknown feature, C++11's ref-qualifiers. [...]
Publications

Using a new C++ standard - The pain of being at the cutting edge

As you probably heard, I wrote a book about C++20 called Programming with C++20. My goal was, and is, to show correct C++20 code as early as possible. Given that even in 2022, [...]
Publications

iX Article: Ressourcensparend programmieren - Lernen von der Embedded-Entwicklung

An article I wrote for the German iX magazine "Ressourcensparend programmieren - Lernen von der Embedded-Entwicklung" is available in issue 2022/13. It is available as a printed [...]
C++

Destructors and noexcept

Since we have noexcept in the language, destructors are implicitly noexcept. One interesting part here is that this statement is true for user-defined destructors as well as for [...]
C++ Insights

Happy anniversary C++ Insights

I haven't written a lot about C++ Insights in the last couple of months, but as today is the anniversary of C++ Insights, it is about time to hand out a birthday present. [...]
C++

Down with pointers

Some years ago, there was an Aprils fool post from various other C++ bloggers that C++ has deprecated pointers (for example, Fluent C++ - C++ Will No Longer Have Pointers. Well, [...]
C++

How to achieve the rule of zero - an example

In today's post, I want to talk about the rule of zero and give an example of how to achieve it. [...]
C++

A destructor, =default, and the move operations

Today's post is a bit special in two ways. First, I continue to talk about move semantics, and this is the first time that I have the same topic for my monthly post and the [...]
C++ Insights

C++ Insights news flash - Clang 13 and more

It's been a while since I last wrote about C++ Insights. Sorry for that. No worries, I still actively maintain the project. [...]
C++

Why you should use std::move only rarely

In today's post, I try to tackle a topic that comes up frequently in my classes, move semantics, and when to use std::move. I will explain to you why not say std::move yourself [...]
C++

C++20 - Filling blanks

What do you know about default parameters in C++? Well, C++20 introduced new elements that can be seen like default parameters. [...]