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”.
I am going to tell you a story about an issue that brought me a rather painful debugging session, and the lessons that can be learned from it. A few […]
In C++ there are two ways of type conversions: implicit and explicit type conversions. The latter are called type casts and they are what this post is about.
Among C++ developers there often appears to be a misconception about what it means to deal with code that can throw exceptions. The misconception is that the possibility of exceptions […]
In my last blog post I have told you about the basics of operator overloading, about the when and how, and which operators can be overloaded. In this post I […]
Since I do not have much time this week I will translate and update the first of a small series of articles I have written for a German C++ forum […]
In a few occasions I have seen functions that allocate certain local variables on the heap instead of using variables with automatic storage. In this post I explain what you should do with those variables.