C++ Class and Preventing Object Copy

In some cases, an instance of a C++ class should not be copied at all. There are three ways to prevent such an object copy: keeping the copy constructor and assignment operator private, using a special non-copyable mixin, or deleting those special member functions.

https://ariya.io/2015/01/c-class-and-preventing-object-copy