Entries by Rainer Grimm

My New Blog

My blog Modernes C++ is over seven years old and needed a redesign. Here it is. I hope you like it. If you want to know my motivation for my migration, read the following paragraph. If not, skip it and read the last chapter about your feedback. My Motivation for the Migration You may wonder […]

C++23: The Small Pearls in the Core Language

The C++23 core language has more to offer than deducing this. Today, I will write about the small pearls. Literal Suffixes C++23 provides new integral literal suffixes for (signed) std::size_t: Literal Suffix Type Example z or Z signed std::size_t auto signed = -2023z; z/Z and u/U std::size_t auto unsigned = 2023uz, std::size_t (C++17) is an […]

C++23: Syntactic Sugar with Deducing This

The Curiously Recurring Template Pattern (CRTP) is a heavily used idiom in C++. It is similarly resistant to understanding as the classic design pattern visitor I presented in my last post: “C++23: Deducing This“.  Thanks to deducing this, we can remove the C and R from the abbreviation. CRTP The acronym CRTP stands for the […]

C++23: Deducing This

Anyone who thinks a small C++ standard follows a significant C++ standard is wrong. C++23 provides powerful extensions to C++20. These extensions include the core language, particularly the standard library. Today, I present a small but very impactful feature of the core language: deducing this. Deducing this, sometimes also called explicit object parameter, allows it […]

C++23: The Next C++ Standard

C++23 will be the next C++ standard after C++20. This new standard significantly improves C++ but is less game-changing than C++98, C++11, or C++20. C++23 is more in the tradition of C++17. To understand this next step in the evolution of C++, let me put the C++ standards into the historical context. The C++ Standards […]