title: What does new (this) mean?
body: <p>I found this code sample for study:</p>
  
  <pre><code>T &amp; T::operator=(T const &amp; x)
  {
    if (this != &amp;x)
    {
      this-&gt;~T(); // destroy in place
      new (this) T(x); // construct in place
    }
    return *this;
  }
  </code></pre>
  
  <p>When I look at <a href="http://www.cplusplus.com/reference/new/operator%20new/">the documentation</a> for <code>new</code> there is no version that takes a pointer.  Thus:</p>
  
  <ol>
  <li>What does new (this) mean?  </li>
  <li>What is it used for?</li>
  <li>How can it be called like this if it is not listed in the documentation?</li>
  </ol>