Marcin Grzebieluch


Master of Engineering in Computer Science from Wroclaw University of Technology. Senior Developer in Qiagen. Marcin Grzebieluch is mostly interested in Linux, distributed computing, machine learning, performance and C++. In spare time he plays with electronics and contributes to open source projects.



The worst feature of modern C++: default behavior (2017)

C++ might seem hard, obsolete, or a bit confusing. Some might say it is an expert friendly programming language. There are many reasons for such thinking: pointer arithmetics, manual memory management, template type deduction rules etc. Even C++ zealots must admit that you must spent years to understand it and use it confidently.

Why reference to an rvalue is lvalue itself? Why my default function arguments do not work during polymorphic call? This is kind of questions I will try to answer, explain why C++ behaves in such confusing way by default and provide simple tools to avoid such cases.