January 2020
Intermediate to advanced
454 pages
11h 25m
English
In C++11 or higher, objects can either be copied or moved, which can be used to dictate how your object's resources are managed. The big difference between a copy and a move is simple: a copy creates a copy of the resources an object manages, while a move transfers the resources from one object to another.
In this recipe, we will explain how to make a class movable, including how to properly add move constructors and move assignment operators. We will also explain some of the subtle details of a movable class and how to use them in your code. This recipe is important because, in a lot of cases, moving an object instead of copying an object increases the performance and reduces the memory consumption of your programs. ...