title: Explicit initialization of struct/class members
body: <pre><code>struct some_struct{
      int a;
  };
  some_struct n = {};
  </code></pre>
  
  <p>n.a will be 0 after this;</p>
  
  <p>I know this braces form of initialization is inherited from C and is supported for compatibility with C programs, but this only compiles with C++, not with the C compiler. I'm using Visual C++ 2005.</p>
  
  <p>In C this type of initialization</p>
  
  <pre><code>struct some_struct n = {0};
  </code></pre>
  
  <p>is correct and will zero-initialize all members of a structure.</p>
  
  <p>Is the empty pair of braces form of initialization standard? I first saw this form of initialization in a WinAPI tutorial from msdn.</p>