title: Disallowing assignment and passing by value
body: <p>From what I understand I'm able to "disable" copying and assigning to my objects by defining private copy constructor and assignment operator:</p>
  
  <pre><code>class MyClass
  {
  private:
      MyClass(const MyClass&amp; srcMyClass);
      MyClass&amp; operator=(const MyClass&amp; srcMyClass);
  }
  </code></pre>
  
  <p>But what's the usage of this?<br>
  Is it considered a bad practice?</p>
  
  <p>I would appreciate if you could describe the situation, in which it would be reasonable / useful to "disable" assignment and copy constructor in this way.</p>