In Java there are no free functions, which simplifies lookup rules and code organization. Many C++ style guides have adopted the “only classes” style, prohibiting free functions. But C++ is […]
One of C++s strengths is that it is possible to write very performant code. But does that mean we always have to worry about performance and write our everyday code as […]
Today’s post is about an incident with our compiler and a small little feature that sometimes seems to be underused or simply forgotten: Keyword explicit. How a Bug in Our […]
This is the third part of my introductory series on Boost.Operators. In the first part and second part I have written about the underlying ideas of the library and provided […]
This is the second part of my introduction to Boost.Operators. Click here for the first part. I will start right where I stopped in the last part.
In my first two posts about operator overloading I have written about the basics and common practice. This post shows some lessons from the common practice post on a concrete example and […]
I just finished watching a talk from CppCon 2014 by Scott Meyers: Type Deduction and Why You Care. All in all it was a very interesting and entertaining talk, and […]
In many legacy code bases we encounter functions that get their parameters passed by plain pointers. Often those pointers are expected to be not null. In this post I am […]
C++ is a multi-paradigm language, so it is not a purely object oriented language but has other aspects, for example a huge support for generic programming via templates. One of its major […]
In 2012, Martinho Fernandes coined the Rule of Zero in a blog post. In 2014, Scott Meyers wrote a blog post about a concern with that rule and proposed a Rule of Five Defaults. In this post I am going to wrap up my thoughts about the two posts and propose a “Rule of All or Nothing”.