title: Is the memory automatically reclaimed when a delegating constructor throws?
body: <p>Following on from this:  <a href="https://stackoverflow.com/q/17657761/14065">Is the destructor called when a delegating constructor throws?</a></p>
  
  <pre><code>class X
  {
  public:
      X()       {};
      X(int)    : X() { throw std::exception(); }
      X(double)       { throw std::exception(); }
      ~X();
  };
  </code></pre>
  
  <p>What about dynamic memory? Normally an exception in the constructor means the object was not fully constructed and thus the memory is cleanedup and not lost.</p>
  
  <p>But the argument in the previous question is that the object is fully constructed (or fully initialized) after the delegate completes. How does this affect reclaiming the memory? I would hope that memory is still cleanedup! </p>
  
  <pre><code>int main()
  {
      new X(5);        // new called 
                       // delete called because delegate completed.
                       // I assume:  
                       //      Memory re-claimed (because constructor did not complete)
                       //      I assume the C++11 standard adjusted to compensate.
                       //      As a constructor did complete.
  }
  </code></pre>
  
  <p>Compared too:</p>
  
  <pre><code>int main()
  {
      new X(5.0);      // new called 
                       //    Delete **NOT** called
                       // Memory re-claimed (because constructor did not complete)
  }
  </code></pre>
  
  <p>If the memory is cleaned up, then the definition of when the memory is cleanup needs to be altered from C++03 spec. How is the behavior changed?</p>