Articles & Books

C++20 Reference Card--Bartlomiej Filipek

The big ones.

C++20 Reference Card

by Bartlomiej Filipek

From the article:

While the C++20 Standard is still being finalised and polished, we know all of its core features. At first, the new specification of the language might sound complex and overwhelming. That’s why, if you want to have an overview of the core elements and get the bigger picture, you can have a look at my new reference card...

How to Short-Circuit a Sequence of Operations with a Boolean Value--Jonathan Boccara

Boolean and bit operators are not the same.

How to Short-Circuit a Sequence of Operations with a Boolean Value

by Jonathan Boccara

From the article:

Interrupting a sequence of operations when one of them fails is a common problem in computer programming. There are plenty of elaborate ways to code that, ranging from exceptions to monads to static exceptions.

One of the techniques to stop such a sequence of operations that is not so sophisticated, but that can be found in existing code, is to use a boolean. This relies on each step producing a boolean flag to indicate if it succeeded or failed, and to stop executing steps at the first failure.

However, simple as it is, this technique can lead to code that doesn’t do with it looks like...

The C++ Lifetime Profile: How It Plans to Make C++ Code Safer--Daniel Martín

A way to make C++ safer.

The C++ Lifetime Profile: How It Plans to Make C++ Code Safer

by Daniel Martín

From the article:

High amounts of low-level systems are written in C++. Memory access in C++ is virtually unrestricted, which means that bugs in C++ programs can corrupt it and cause crashes or security problems. For this reason, we call C++ a memory-unsafe programming language — in contrast to memory-safe languages like Java, Rust, and Swift.

In this blog post, I’ll talk about the C++ Lifetime Profile, explaining what it is, how it intends to reduce the problems typically caused by the memory-unsafe characteristics of C++, what the status of the current implementation of the Lifetime Profile is, and what the current limitations are...

C++17 – La guía completa -- Nico Josuttis

C++17 – La guía completa (the spanish edition of "C++17 - The Complete Guide" by Nico Josuttis) is out:

C++17 - The Complete Guide in Spanish

by Nico Josuttis

About the publication

Translated for the spanish C++ community by Javier Estrada with significant help by Daniel Garcia.

For details, see

How and why overloading, templates, and auto deduction were invented? -- Milad Kahsari

Are you a student and wanted to know How and why overloading, templates, and auto deduction WERE invented? read the following article.

How and why overloading, templates, and auto deduction invented?

by Milad Kahsari

From the article:

Why we need the template function/classes and how this concept created by C++ compiler engineers? In this medium post, I want to go through the steps which made c++ experts think about the template concept and auto in the modern days of software development.

C++ - Initialization of Static Variables--Pablo Arias

A good summary.

C++ - Initialization of Static Variables

by Pablo Arias

From the article:

You are probably reading this because you code in C++. This means that you have battled frustration mastering auto deduction rules or lost your sanity trying to understand why std::initializer_list was considered a good idea. Anyone who has been doing this long enough knows that variable initialization is everything but trivial. It’s a problem too essential to ignore but too challenging to master. Today I’m here to tell you that there is more to it...