Articles & Books

GotW #99 Solution: Postconditions -- Herb Sutter

Solution just posted:

GotW #99 Solution: Postconditions

by Herb Sutter

From the article:

Postconditions are directly related to assertions (see GotW #97)... but how, exactly? And since we can already write postconditions using assertions, why would having language support benefit us more for writing postconditions more than for writing (ordinary) assertions?

How std::any Works--Jonathan Boccara

Lambda magic.

How std::any Works

by Jonathan Boccara

From the article:

In the previous post we’ve seen a very nice technique to use value semantics with inheritance and virtual methods, which was made possible by std::any.

Given its usefulness, it would be interesting to better understand std::any. Indeed, std::any is sometimes said to be “the modern void*“. But it does much more than a void*...

12 Different Ways to Filter Containers in Modern C++--Bartlomiej Filipek

Many ways.

12 Different Ways to Filter Containers in Modern C++

by Bartlomiej Filipek

From the article:

Do you know how many ways we can implement a filter function in C++?

While the problem is relatively easy to understand - take a container, copy elements that match a predicate and the return a new container - it’s good to exercise with the Standard Library and check a few ideas. We can also apply some Modern C++ techniques.

Let’s start!

6 years of weekly Meeting C++ Blogrolls!

Its now 6 years since Meeting C++ publishes a weekly blogroll for C++!

6 years of Meeting C++ Blogrolls

by Jens Weller

From the article:

Today 6 years ago the first weekly blogroll of Meeting C++ was released.

Since then it has been released on (most) Fridays, giving you a weekly overview of what happend in the C++ Blog scene and Videos in the past 7 days. Since last year...

Contracts, Preconditions & Invariants -- Andrzej Krzemienski

"Contract support" is one of the things actively developed for C++.

Contracts, Preconditions & Invariants

By Andrzej Krzemienski

About the article

This blog post is an introductory material, demonstrating what a contract is, how preconditions and invariants can be derived from the contract, and how this process can help detect bugs. Two points stressed in this post are: (1) preconditions and invariants are not “contracts” and (2) only a subset of contract-related bugs can be detected through preconditions and invariants.

Inheritance Without Pointers--Jonathan Boccara

What do you think?

Inheritance Without Pointers

by Jonathan Boccara

From the article:

Inheritance is a useful but controversial technique in C++. There is even a famous talk by Sean Parent called Inheritance is the base class of evil. So inheritance is not the most popular feature of the C++ community.

Nevertheless, inheritance is useful, and widely used by C++ developers.

What is the problem of inheritance? It has several problems, and one of them is that it forces us to manipulate objects through pointers...