I am excited to announced I launched cppdashboard.dev, a website that aggregates the activity of the C++ community into one place. The post cppdashboard.dev – The aggregator of what matters in C++ right now first appeared on Marius Bancila's Blog .
PImpl (which stands for Pointer to implementation) is a programming tehnicque to remove implementation details from a class by placing them in a separate class that is accessed through an opaque pointer. Its purpose is to separate interfaces and implementations and minimize compile-time dependencies. In this article, we ll at how the PImpl idiom is typically ... Read more The post The PImpl idiom…
The C++26 standard features a series of improvements to the format library. In this article, we will look at the most important of them. The post Improvements to std::format in C++26 first appeared on Marius Bancila's Blog .
I have recently come across a (click-bait) post on X claiming that multiplying two 1000 1000 matrices in Python was several times faster than in C++ or other languages. So how do you multiply matrices in C++? Let s see. First of all, how do you multiply matrices? It s pretty simple: Here, c11 is computed as follows: ... Read more The post Multiplying matrices in C++ first appeared on Marius…
In my previous post, I talked about time-based universally unique identifiers UUID v7 for short. An alternative to UUIDs (especially to version 4) is the ULID, which stands for Universally unique Lexicographically sortable IDentifier. These are similar with UUIDs, they have the same 128 bit length, but offer several advantages. Let s see what these ... Read more The post Universally Unique…
Universally Unique Identifiers (UUID for short) are 128-bit numbers with a high degree of unicity so that the possibility of collision is extremely low. They are used for various purposes such as identifying resources, correlation IDs in logging and tracing, primary keys in databases, and more. UUIDs are known as GUIDs (Globally Unique Identifiers) on ... Read more The post Time-based Universally…
The C++ standard library provides an algorithm called nth_element() that is a useful tool for partial sorting. But how does it work and where is it useful? First of all, the algorithm is defined as follows: given a range [first, last) and an nth element within the range, the algorithm partially sorts the range so ... Read more The post What is the C++ nth_element algorithm? first appeared on…
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. The post What’s new in C++26: contracts (part 3) first appeared on Marius Bancila's Blog .
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 ... Read more The post What’s new in…
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, ... Read more The post What’s new in C++26 (part 1) first appeared on Marius…