Logo

Blog


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

The power of ref-qualifiers

In today's post, I discuss an often unknown feature, C++11's ref-qualifiers. [...]
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++

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++

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

The difference between static_assert and C++20's requires

Over this year, I gave various presentations and classes about C++20's Concepts. In today's post, I like to discuss the difference between a static_assert and a Concept, or [...]
C++

C++20 Modules: Reachability and Visibility

C++20's modules are one feature of the big four, supposed to influence how we write C++ code in a huge way. One expectation we discussed in (C++20 Modules: The possible speedup) [...]