Logo

Blog


YEAR: 2021

Training

More than a year of virtual classes experience - The good parts

I think you all know what happened back in 2020 when we all ended up in a different world. I wrote this in the past, and it is still true. I'm very grateful that I can still make [...]
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 [...]
Publications

Book: Programming with C++20 - Paperback edition available

You can now order Programming with C++20 - Concepts, Coroutines, Ranges, and more from Amazon. Due to your feedback, references carry page numbers and there is a full-color and a [...]
Publications

Book: Programming with C++20 - What's your style preference?

Last week I ordered the first test print for Programming with C++20 - Concepts, Coroutines, Ranges, and more. I'm looking forward to holding it in my hands around Friday. This [...]
C++ Insights

A Visual Studio Code extension for C++ Insights

Some of you had asked for this in the past, and now it is there. Thanks to Tobias Fuchs (@meet__tobi), there is now an extension for Visual Studio Code that allows you to see the [...]
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) [...]
Publications

Book: Programming with C++20 - Writing finished

A while ago, I announced that I was writing a book about C++20 (Programming with C++20 - Concepts, Coroutines, Ranges, and more). A lot of you have already purchased an early copy [...]
C++

C++20 Modules: Controlling your interfaces

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 the last post (C++20 Modules: The [...]
C++

C++20 Modules: The possible speedup

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 I hear nearly all the time is the improvement of [...]
C++

C++20 Dynamic Allocations at Compile-time

You may already have heard and seen that C++20 brings the ability to allocate dynamic memory at compile-time. This leads to std::vector and std::string being fully constexpr in [...]
C++

C++20: A neat trick with consteval

Among the various improvements of C++20 are changes to constexpr, namely a new keyword consteval. In this post, I like to dig into consteval a bit and see what we can do with this [...]
C++

3-tages Schulung: Programmieren mit C++20

Du hast Interesse an C++20, weil Du ... [...]
C++

Programming with C++20 book quiz - The winners

Thank you to everyone who participated in the C++20 book quiz! I was amazed by the number of answers and the answers you all provided. [...]
C++

C++20 ranges benefits: avoid dangling pointers

In my last monthly post, C++20 benefits: consistency with ranges, we looked at what ranges do for us when it comes to consistency and how we can get the same level of consistency [...]
C++

Programming with C++20 book quiz

Today I like to announce a C++20 book quiz. [...]
C++ Insights

Happy 3 year Birthday C++ Insights

Today it is three years since I published C++ Insights. [...]
C++

C++20 benefits: consistency with ranges

You all probably already have heard of C++20's ranges. With ranges-v3, Eric Niebler provided us with a solution already, independent of C++20. In this post, I like to shed some [...]
Training

Clean Code Workshop @Golem Akademie

In June I'm hosting the next workshop of C++ Clean Code – Best Practices für Programmierer together with my partner golem Akademie. This date is nearly sold out, so we decided to [...]
C++ Insights

C++ Insights now uses Clang 12

Today I finally managed to switch C++ Insights to Clang 12! [...]
Publications

iX Article: Clean Code mit C++20, Teil 3

An article I wrote for the German iX magazine "Clean Code mit C++20, Teil 3" is available in issue 2021/5. It is available as a printed edition as well as online. This is part of [...]
Publications

Source code for Programming with C++20 - Concepts, Coroutines, Ranges, and more

I like to apologize, but I totally missed publishing the source code for the already published chapters of Programming with C++20 - Concepts, Coroutines, Ranges, and more. [...]
C++

Can I touch a moved-from object

In this blog post, I try to bring you a topic closer that was already discussed and written about multiple times: move semantics. Just to give you two references: [...]
Training

Learn programming with modern C++ in five days

You're a C++ programmer, but you have only little to no modern C++ knowledge? Or you want to gain more solid knowledge about the new features of C++11 to C++17? Then come to my [...]
Publications

iX Article: Clean Code mit C++20, Teil 2

An article I wrote for the German iX magazine "Clean Code mit C++20, Teil 2" is available in issue 2021/4. It is available as a printed edition as well as online. This is part of [...]
C++

C++20: Five Features in Five Weeks

You may have noticed that I offer a new class, C++20: Five Features in Five Weeks. Today I like to tell you a bit about the background of this class. [...]
C++

Something you should know about structured bindings

Today's post is partially about C++ Insights and a lesson learned. Last week Dawid Pilarski opened issue #381 for C++ Insights. [...]
Publications

iX Article: Clean Code mit C++20, Teil 1

An article I wrote for the German iX magazine "Clean Code mit C++20, Teil 1" is available in issue 2021/3. It is available as a printed edition as well as online. This is part of [...]
Publications

New book project: Programming with C++20 - Concepts, Coroutines, Ranges, and more

I'm happy to announce that I'm writing a book about C++20: Programming with C++20 - Concepts, Coroutines, Ranges, and more. [...]
C++20

C++20: A coroutine based stream parser

In this post, I like to show you how C++20's coroutines can help you when writing a stream parser. This is based on a protocol Andrew Tanenbaum describes in his book Computer [...]
C++

Clang and gcc on macOS Catalina - Finding the include paths

macOS 10.15 alias Catalina is out since the end of 2019, but I usually wait a while before I upgrade. Last week I took this step and did it, assuming most issues are either solved [...]
Publications

Notebook C++ - Tips and Tricks with Templates is available as paperpack

One of my long-term book projects, Notebook C++ - Tips and Tricks with Templates, is now available as a paperback version on Amazon. [...]
Personal

My setup for a live virtual class or talk

Since last year the number of remote classes and virtual conferences has increased by a lot. As I wrote last year in my post Live virtual training, I'm happy to have the option of [...]
Training

Upcoming Events 2021

The year has just started, and you might plan your C++ education. Here is where you can meet or work with me in the first half of 2021. [...]
C++20

C++20: Aggregate, POD, trivial type, standard layout class, what is what

In this post, I would like to give you some details about the new definition in C++20 of a: [...]