Articles & Books

Design Patterns VS Design Principles: Factory method--Jonathan Boccara

Design decisions.

Design Patterns VS Design Principles: Factory method

by Jonathan Boccara

From the article:

Let’s examine another design pattern in our “Design Patterns VS Design Principles” series, where we relate design patterns to design principles. Today, we focus on the Factory method design pattern.

We’ll see the various forms the Factory method design pattern can take, the differences with the Abstract Factory method, and to which design principle the Factory method pattern relates to...

Advancing the State of the Art for std::unordered_map Implementations -- boost.org

Several Boost authors have embarked on a project to improve the performance of boost's associative containers.

Boost.Unordered

by boost.org

About the improvements:

Boost.Unordered's new implementation of std::unordered_map (and multimap, set and multiset variants), and to extend its portfolio of available containers to offer faster, non-standard alternatives based on open addressing.

The first goal of the project has been completed in time for Boost 1.80 (due August 2022). We describe here the technical innovations introduced in boost::unordered_map that makes it the fastest implementation of std::unordered_map on the market.

 

Embracing Modern C++ Safely, Book Review--Bartlomiej Filipek

Did you read it?

Embracing Modern C++ Safely, Book Review

by Bartlomiej Filipek

From the article:

C++11 has been around for around 11 years and C++14 for 8. From my experience, I see that even today, many companies struggle to use those standards in production in the most efficient way. As always, with new stuff came benefits, risks, and increased learning effort. Fortunately, with a new book written by top C++ Experts, we have a solid guide on what is safe and what might be problematic in Modern C++.

The book is called “Embracing Modern C++ Safely”.

Let’s see what’s inside...

Projections with Ranges

The series continue.

Projections with Ranges

by Rainer Grimm

From the article:

The algorithms of the ranges library are lazy, can work directly on the container, and can easily be composed. But they have more to offer: projections. A projection is a mapping of a set into a subset. Let me show you in this post what that means...

Early Access to C++Now 2022 Videos--Anastasia Kazakova

Come see them.

Early Access to C++Now 2022 Videos

by Anastasia Kazakova

From the article:

C++Now is one of the most academic events in the C++ calendar. Up in the mountains for a week in Aspen, Colorado, attendees dive into all kinds of profound C++ topics, from new language features and proposals to libraries and tools. C++ chats start at breakfast and continue until late at night in the bar. As the conference describes itself, the C++Now participants pushe C++ to its limits and let the community know what C++ will look like tomorrow and what we can do with C++ now!

50 terrible coding tips for a C++ developer

Whichever C++ article you read, it provides serious information, requires thoughtful reading — preferably with a cup of coffee. And what if you want to have fun? That's why I decided to write this humorous article with terrible coding tips. The main thing is not to confuse these tips with helpful ones!

50 terrible coding tips for a C++ developer

by Andrey Karpov

From the article:

I write articles about static analysis methodology and issues of creating high-quality code. But I wanted to fool around a bit. So please, welcome the article with 50 terrible coding tips. However, if you have more ideas how to create sh*tcode — share them in the comments. There's a chance that I'll post a new article and there might be 100 terrible coding tips smile. In case you don't understand why some tip is called terrible, click the {link}. If there is no link, let me know. I'll share a more detailed explanation.

Supporting new speakers and great talks

Two weeks ago Meeting C++ organized an event centered on sharing information on how to prepare and give talks. With the goal being to level the playing field for everyone but also make it easier to start speaking. You can watch the lightning talks and the panel online.

Supporting new speakers and great talks

by Jens Weller

From the article:

This event supports the ongoing call for talks of Meeting C++ and other conferences. So for Meeting C++ 2022, submit your talk until Sunday, June 12th! As conferences and life has changed over the last 2 years, Meeting C++ wants to give everyone interested in speaking a hand on how to get started and motivated. Scott Meyers did once share in the second part of his Meeting C++ keynote in 2014 some of his thoughts on "preparing materials for the modern age" and a few years later CppCon has hosted some classes for speakers to improve their talks. But not much has come available for the general public as information on how to create and give technical talks. With this event I aimed at producing a first set of tips and topics for interested speakers to view for inspiration.

Assignment for optional--Barry Revzin

Highly non trivial.

Assignment for optional<T>

by Barry Revzin

From the article:

Let’s talk about assignment for optional<T>. I realize this is a fraught topic, but I want to try to build up proper intuition about how assignment has to work, especially since the debate around this topic has been fairly underwhelming. This post will almost exclusively discuss copy assignment (i.e. the one that takes an optional<T> const&), since everything just follows from that...

Writing a sort comparison function--Raymond Chen

How do you do it?

Writing a sort comparison function part 1, part 2, part 3, part 4

by Raymond Chen

From the article:

I’ve noted in the past that a sort comparison function must follow certain rules, and if you violate those rules, very strange things happen. So what are some patterns for writing sort comparison functions that don’t break the rules?

Most of the time, sorting can be reduced to key comparison: From each element being sorted, you generate a sort key, and those sort keys are compared against each other...