title: Does std::unordered_map operator[] do zero-initialization for non-exisiting key?
body: <p>According to cppreference.com, <a href="https://en.cppreference.com/w/cpp/container/map/operator_at" rel="noreferrer"><code>std::map::operator[]</code></a> for non-existing value does zero-initialization.</p>
  
  <p>However, the same site does not mention zero-initialization for <a href="https://en.cppreference.com/w/cpp/container/unordered_map/operator_at" rel="noreferrer"><code>std::unordered_map::operator[]</code></a>, except it does have an example which relies on this.</p>
  
  <p>Of course this is just a reference site, not the standard. So, is the code below ok or not?</p>
  
  <pre class="lang-cpp prettyprint-override"><code>#include &lt;unordered_map&gt;
  int main() {
      std::unordered_map&lt;int, int&gt; map;
      return map[42];     // is this guaranteed to return 0?
  }
  </code></pre>