title: Default initialization of std::array?
body: <p>With C++11 <code>std::array</code>, do I have the guarantee that the syntax <code>std::array&lt;T, N&gt; x;</code> will default-initialize all the elements of the array ?</p>
  
  <p><strong>EDIT</strong>: if not, is there a syntax that will work on all arrays (including zero-sized arrays) to initialize all elements to their default value?</p>
  
  <p><strong>EDIT</strong>: on <a href="http://en.cppreference.com/w/cpp/container/array" rel="noreferrer">cppreference</a>, the default constructor description says:</p>
  
  <pre><code>(constructor) (implicitly declared) (public member function)
  default-constructs or copy-constructs every element of the array 
  </code></pre>
  
  <p>so the answer may be yes. But I would like to be sure of that according to the standard or future standard.</p>