Entries by Rainer Grimm

C++23: More Small Pearls

With the static multidimensional subscript and call operator, the C++23 core language has more to offer. auto(x) and auto{x} In my last post, “C++23: The Small Pearls in the Core Language“, I gave a concise explanation of auto(x) and auto{x}: The calls auto(x) and auto{x} cast x into a prvalue as if passing x as […]

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