title: Most concise way to disable copy and move semantics
body: <p>The following surely works but is very tedious:</p>
  
  <pre><code>T(const T&amp;) = delete;
  T(T&amp;&amp;) = delete;
  T&amp; operator=(const T&amp;) = delete;
  T&amp; operator=(T&amp;&amp;) = delete;
  </code></pre>
  
  <p>I'm trying to discover the most concise way. Will the following work?</p>
  
  <pre><code>T&amp; operator=(T) = delete;
  </code></pre>
  
  <p><strong>Update</strong></p>
  
  <p>Note that I choose <code>T&amp; operator=(T)</code> instead of <code>T&amp; operator=(const T&amp;)</code> or <code>T&amp; operator=(T&amp;&amp;)</code>, because it can serve both purposes.</p>