This article continues the series of discussing the C++26 features with the topic of concepts, which are language level asserts for checking function preconditions, postconditions, and invariants.
Tag: C++26
What’s new in C++26 (part 2)
In a previous blog post, I talked about several features included in C++26: specifying a reason to delete a function, placeholder variables with no name, structured binding declaration as a condition, and user-generated static_assert messages. In this post, I will continue exploring the new features that have been already included in the C++26 standard. #embed…
What’s new in C++26 (part 1)
The C++26 version of the C++ standard is a work in progress, but a series of language and library features have been already added. Furthermore, some of them are already supported by Clang and GCC. One of these new changes was discussed in my previous article, Erroneous behaviour has entered the chat. In this post,…
Erroneous behaviour has entered the chat
The C++ language defines the observable behaviour of a program and uses terms such as ill-formed or undefined behaviour to describe it. The C++26 standard introduces a new one, called erroneous behaviour. In this post, we’ll look at what these terms mean. Well-formed This is the simplest of them all. It means that a program…