title: Are the new typesafe enums defined to begin at 0?
body: <p>Given the following C++11 code</p>
  
  <pre><code>enum class Foods {
    Apple,
    Pear,
    Banana
  };
  </code></pre>
  
  <p>will</p>
  
  <pre><code>std::cout &lt;&lt; (unsigned int)Foods::Apple &lt;&lt; std::endl;
  </code></pre>
  
  <p>output 0?</p>
  
  <p>This is true for MSVC 2012 and gcc 4.7.0 however I'm more interested in what the C++11 standard specifies we may rely on. That is, can portable code depend on enumerations defaulting to 0 for the value of the first item? </p>