title: Why does C++ not allow `new` to call constructor when creating arrays
body: <p>Lets say you are creating an array of objectes on the heap like so:</p>
  
  <pre><code>myClass * objectPtr = new myClass[10];
  </code></pre>
  
  <p><code>new</code> only invokes the default constructor, and (based on my readings) does not allow any other constructor to be invoked. </p>
  
  <p>Is there any logic behind why <code>new</code> cannot invoke any other constructor? It would seem better to do something like</p>
  
  <pre><code>myClass * objectPtr = new myClass[10](12);
  </code></pre>
  
  <p>as opposed to</p>
  
  <pre><code>myClass * objectPtr = new myClass[10];
  objectPtr[0] = myClass(12);
  objectPtr[1] = myClass(12);
  ...
  </code></pre>