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