title: Zero-initializing elements of a std::array with a default member initializer
body: <p>Suppose I have a class template like this:</p>
  
  <pre><code>template&lt;typename T, size_t N&gt;
  struct S {
     std::array&lt;T,N&gt; a;
  };
  </code></pre>
  
  <p>Is there a default member initializer I can place on <code>a</code>,</p>
  
  <pre><code>template&lt;typename T, size_t N&gt;
  struct S {
     std::array&lt;T,N&gt; a = ???;
  };
  </code></pre>
  
  <p>such that no matter what <code>T</code> is, the elements of <code>a</code> will always be initialized (never have indeterminant value)? I.e., even if <code>T</code> is a primitive type like <code>int</code>.</p>