title: Copying structs with uninitialized members
body: <p>Is it valid to copy a struct some of whose members are not initialized?</p>
  
  <p>I suspect it is undefined behavior, but if so, it makes leaving any uninitialized members in a struct (even if those members are never used directly) quite dangerous. So I wonder if there is something in the standard that allows it.</p>
  
  <p>For instance, is this valid?</p>
  
  <pre class="lang-cpp prettyprint-override"><code>struct Data {
    int a, b;
  };
  
  int main() {
    Data data;
    data.a = 5;
    Data data2 = data;
  }
  </code></pre>