The mutable keyword seems to be one of the less known corners of C++. Yet it can be very useful, or even unavoidable if you want to write const-correct code […]
Dipping my toes into a new project, I got a bunch of ugly warnings about a ton of C-casts inside a macro definition. Trying to get away from them was […]
With C++17, we get class template argument deduction. It is based on template argument deduction for function templates and allows us to get rid of the need for clumsy make_XXX […]
Online compilers can be useful tools to quickly compile a snippet of code without having to install a proper compiler on our computer. They can be especially useful to play […]
A few days ago, a colleague asked me if it was wise to make every class a final class. Here is a more sophisticated answer than I could give at […]
Depending on their use, std::pair and std::tuple can be code smells. That’s why we should be careful around these two.
Last year, I have written about constexpr and compile time constants in general. Last week, the Draft International Standard for C++17 has been sent to its ballot. Time to provide […]
This week I exchange guest posts with Jonathan Müller about accessing tuple elements. Jonathan is a CS student passionate about C++. He’s working on various C++ projects like memory, an […]
Lambdas are a nice recent addition to C++. They are cool, they are hip, and they tend to be overused and misused.
decltype and std::declval are two features that go hand in hand and are most useful in template metaprogramming and in conjunction with the use of type deduction via auto, e.g. […]