title: Why std::map is red black tree and not hash table ?
body: <p>This is very strange for me, i expected it to be a hash table.</p>
  
  <p>I saw 3 reasons in the following answer (which maybe correct but i don't think that they are the real reason).
  <a href="https://stackoverflow.com/questions/3265266/hash-tables-v-self-balancing-search-trees">Hash tables v self-balancing search trees</a></p>
  
  <ol>
  <li><p>Although hash might be not a trivial operation. I think that for most of the types it is pretty simple.</p></li>
  <li><p>when you use map you expect something that will give you amortized O(1) insert, delete, find , not log(n).</p></li>
  <li><p>i agree that trees have better worst case performance.</p></li>
  </ol>
  
  <p>I think that there is a bigger reason for that, but i can't figure it out.
  In c# for example Dictionary is a hash table.</p>