title: Memory Allocation Exception in Constructor
body: <p>I have a constructor that allocates several blocks of memory using the <code>new</code> operator.</p>
  
  <pre><code>X::X() {
      a = new int[100];
      b = new char[100];
      c = new float[100];
  }
  </code></pre>
  
  <p>My question is, if the allocation of <code>c</code> fails, and the constructor throws an exception, will the memory for <code>a</code> and <code>b</code> be automatically freed?</p>