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:

Q&A - C++ Initialization

Updated:

Last time I showed a couple of questions about initialization. Try them here if you haven’t already. In this article, I’ll show you the answers and add more notes about initialization in C++. About   I selected the following questions from 25 questions that you can find in my C++ Initialization Story book:

READ MORE...

C++ Initialization Quiz

Updated:

Do you know the answers to those ten questions about Initialization in Modern C++? About   I selected the following questions from 25 questions that you can find in my C++ Initialization Story book: Print version @Amazon C++ Initialization Story @Leanpub Moreover, in the book, you can find a few coding exercises to practice skills.

READ MORE...

C++ Initialization Story in Print

Updated:

I’m thrilled to announce the print/paperback edition of “C++ Initialization Story!” After nearly a year of updates and enhancements for the electronic version, this comprehensive resource is now complete! You can purchase the book in a variety of formats, and to celebrate this major update, I’m hosting a giveaway where you can get the book for free :)

READ MORE...

Examples of Projections from C++20 Ranges

Updated:

C++20 Ranges algorithms have an excellent feature called “Projection”. In short, it’s a callable applied on each range element before further processing. In this article, I’ll show you a couple more examples of this handy feature. Intro   According to the C++20 Standard: [defns.projection]: projection: transformation that an algorithm applies before inspecting the values of elements

READ MORE...

Fun with printing tables with std::format and C++20

Updated:

std::format added in C++20 is a powerful helper for various text formatting tasks. In this blog post, we’ll have fun and print some tables with it. You’ll see the “old” C++17 version and compare it against the C++20 style. std::format excercise   As an exercise to learn about std::format, we can try printing some more advanced structures than just “Hello World”.

READ MORE...

std::initializer_list in C++ 2/2 - Caveats and Improvements

Updated:

In this article, you’ll learn why std::initializer_list has a bad reputation in C++. Is passing values using is as efficient as “emplace”, how can we use non-copyable types? You’ll also see how to fix some of the problems. Let’s start with the issues first: 1. Referencing local array   If you recall from the previous article, std::initializer_list expands to some unnamed local array of const objects.

READ MORE...

C++ at the end of 2022

Updated:

I must admit that some previous years for C++ might feel a bit “boring” and “stable”. New features, new standard every three years, meetings, conferences… life as usual (apart from some additional World/Economy/public Health events…). This year seems different as it looks like a “breakpoint” in the history of C++… and who knows where it will lead us.

READ MORE...

See My New Book: C++ Initialization Story

Updated:

I’m happy to announce that my new book on C++ Initialization is published and finished! Have a look at the background story and how to get it. Updates: Go to the latest updates from 23rd Dec here, 30 new pages added! Note: Initially, the book was called “Data Member Initialization in Modern C++”, but in September 2022, I updated it heavily and changed the title.

READ MORE...