January 2020
Intermediate to advanced
454 pages
11h 25m
English
In this recipe, we will learn about how to create an object that we cannot move or copy and why you might want to create such a class. Copying a class requires the ability to copy the contents of a class, which in some cases, could be impossible (for example, making a copy of a memory pool is not simple). Moving a class assumes that the class is allowed to exist in a potentially invalid state (for example, std::unique_ptr, when moved, takes on a nullptr value, which is invalid). Such cases may also be undesirable (you now have to check for validity). A non-movable class that we cannot copy can overcome these types of issues.