The C++ Stories Weekly Newsletter

Join ~11000 developers who read about Modern C++, news reports, tools, and more! A new email every Monday.
Bonuses included! C++17/C++20 ref cards and more!

The above field is supplemented with consent to receive a newsletter containing information and marketing content about the cppstories.com portal from Bartłomiej Filipek codebf based in Krakow. The consent may be withdrawn at any time. See the full Privacy Policy.


See the latest articles:

C++ Software Security Sins: Basic Issues

Updated:

C++ Software Security Sins   In the world of software development, we are up against new cybersecurity threats each day, and the risks and consequences of un-secure software are too significant to be unaware of. Let’s review some common security threats that might lurk in our C/C++ code. This article is an adapted version of the presentation given by Mary Kelly, supported by Embarcadero.

READ MORE...

Predefined C++20 Concepts: Callables

Updated:

Before you start implementing your custom concepts, it’s good to review some goodies in the Standard Library. There’s a high chance that there’s already a predefined concept for you. Today let’s have a look at concepts related to callable objects. Where to find them   You can find most of the predefined concepts in the <concepts> header.

READ MORE...

Top-7 Performance Traps for Every Developer

Updated:

According to the recent popular paper “There is plenty of room at the top”1, SW tuning will be one of the key drivers for performance gains in the near future. The growth of a single-threaded performance of modern HW is slowing down, that’s why SW tuning will become more important than it has been for the last 40 years.

READ MORE...

C++20 Concepts - a Quick Introduction

Updated:

Concepts are a revolutionary approach for writing templates! They allow you to put constraints on template parameters that improve the readability of code, speed up compilation time, and give better error messages. Read on and learn how to use them in your code! What is a concept?   In short, a concept is a set of constraints on template parameters evaluated at compile time.

READ MORE...

Strong Types in C++: A Concrete Example

Updated:

When you create a model for your domain, C++ offers you flexibility and increates type-safety with so-called Strong Types. Rather than working with simple built-in types, you can create a set of well-defined classes that better suits your needs. In a new blog post, you can see one concrete example of such a design practice.

READ MORE...

constexpr Dynamic Memory Allocation, C++20

Updated:

constexpr has become a major feature for compile-time programming in C++. Introduced in a simple form in C++11 evolved into almost another “sub-language”, an alternative to regular template code. In C++20 you can even use std::vector and std::string in constexpr context! In this article, I’d like to discuss constexpr memory allocations, a building block for std::vector.

READ MORE...

Implementing Parallel copy_if in C++

Updated:

In a blog post about a dozen ways to filter elements, I mentioned only serial versions of the code. But how about leveraging concurrency? Maybe we can throw some more threads and async tasks and complete the copy faster? For example, I have 6 cores on my machine, so it would be nice to see, like 5x speedup over the sequential copy?

READ MORE...