Запрещение присваивания и передачи по значению

Насколько я понимаю, я могу "отключить" копирование и присвоение моим объектам, определив частный конструктор копирования и оператор присваивания:

class MyClass
{
private:
    MyClass(const MyClass& srcMyClass);
    MyClass& operator=(const MyClass& srcMyClass);
}

Но как это используется?
Считается ли это плохой практикой?

Я был бы признателен, если бы вы могли описать ситуацию, в которой было бы разумно / полезно «отключить» присваивание и конструктор копирования таким образом.

11
задан LihO 17 February 2012 в 12:07
поделиться