title: Initializing scalars with braces
body: <p>In C and C++, one can initialize arrays and structs using braces:</p>
  
  <pre><code>int a[] = {2, 3, 5, 7};
  entry e = {"answer", 42};
  </code></pre>
  
  <p>However, in <a href="https://www.youtube.com/watch?v=-OioZ78jnlM" rel="noreferrer">a talk from 2007</a>, Bjarne mentions that this syntax also works for scalars. I tried it:</p>
  
  <pre><code>int i = {7};
  </code></pre>
  
  <p>And it actually works! What is the rationale behind allowing the initialization of scalars with braces?</p>
  
  <p>Note: I am specifically <em>not</em> talking about C++11 uniform initialization. This is good old C89 and C++98.</p>