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.
Exploring objects that cannot be moved or copied
Getting ready
Before beginning, please ensure that...