Before C++11, I could use this to make a class non-copyable:
private: MyClass(const MyClass&); MyClass& operator=(const MyClass&);
Move constructor/assignment are not generated when you declare a copy constructor.
So
MyClass(MyClass&&) = delete; MyClass& operator=(MyClass&&) = delete;
are not required.
You can still add it to be more explicit.