title: array initialisation
body: <p>I'm quite certain that arrays of built in types are unitialized, whereas arrays of UDTs are default initialized.</p>
  
  <p><code>int foo[5]; // will contain junk <br>
  Foo foo[5]; // will contain 5 Foo objects that are default initialized
  </code></p>
  
  <p>This occurs regardless of whether the array is allocated on the stack or heap.</p>
  
  <p>However, I'm finding it hard to find an authoritative source on this. Bjarne states that:</p>
  
  <p>"Members of arrays and structures are default initialized or not depending on whether the array or structure is static" which doesn't really tell me too much.</p>
  
  <p>I've also tried to find something in the standard, but so far no to no avail.</p>
  
  <p>Does anyone know of an authoritative source to confirm the above?</p>