title: Unordered_map having strange behavior when accessing elements
body: <p>I have an unordered map that looks like this:</p>
  
  <pre><code>std::unordered_map&lt;std::string, double&gt; payments = { {"8/18", 0.0}, {"7/18", 771.98}, {"6/18", 0.0}, {"5/18", 771.98},
                                                      {"4/18", 771.98}, {"3/18", 771.98}, {"2/18", 0.0}, {"1/18", 3859.90},
                                                      {"12/17", 771.98}, {"11/17", 0.0}, {"10/17", 1543.96}, {"9/17", 771.98} };
  </code></pre>
  
  <p>When I print the second element as so:</p>
  
  <pre><code>for (auto it : payments)
      {
          std::cout &lt;&lt; it.second &lt;&lt; " ";
      }
  </code></pre>
  
  <p>I get this:</p>
  
  <pre><code>0 771.98 0 0 771.98 1543.96 771.98 771.98 771.98 3859.9 771.98
  </code></pre>
  
  <p>As you can see I have an extra zero and the ordering is not the same. How do I fix this?</p>