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