After a long standstill of nearly 10 years and after the bug-fixing C++ standard of 2003, the new C++11 brought so many innovations that we might sometimes think it were a completely new language. There are many features which dramatically improve its usability, the definition of the memory model for modern processors, support for multithreading, and much more, but we will only provide a short overview of features that are directly connected to performance. The first and foremost of these was the introduction of move semantics.
C++11/14/17 and performance
Move semantics
As we've already discussed in this chapter, the creation of temporary objects was a real performance problem in classic (or should I say old?) C++, so...