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:

Extensible Stream Logging in Modern C++

Updated:

This blog post will show you how to create a robust and scalable logging library using lots of Modern C++ techniques. The author successfully used this code on Arduino embedded environment and various other production areas. Let’s dive right in. Written by Stephen Dolley Stephen works with C++ commercial and government development teams to upgrade their skills and improve the expressiveness and robustness of their code.

READ MORE...

How to Use The Newest C++ String Conversion Routines - std::from_chars

Updated:

With C++17 we get another facility to handle the conversion between text and numbers. Why should we care about the new routines? Are they better in any way? Before C++17 C++, before C++17, offered several options when it comes to string conversion: sprintf / snprintf sscanf atol strtol strstream stringstream to_string stoi and similar functions And with C++17 you get another option: std::from_chars!

READ MORE...

How to Convert Numbers into Text with std::to_chars in C++17

Updated:

In this post, I’ll show you how to use the newest, low-level, conversion routines form C++17. With the new functionality, you can quickly transform numbers into text and have super performance compared to previous techniques. Before C++17 Until C++17, we had several ways of converting numbers into strings: sprintf / snprintf stringstream to_string itoa and 3rd-party libraries like boost - lexical cast And with C++17 we get another option: std::to_chars (along with the corresponding method from_chars) !

READ MORE...

Three Myths About Floating-Point Numbers

Updated:

A single-precision floating-point number is represented by 32 bits and hides various wonderful encoding techniques. However, some of those tricks might cause some imprecise calculations so it’s crucial to know how to work with those numbers. Let’s have a look at three common misconceptions. This is a guest post from Adam Sawicki

READ MORE...

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...