title: C++ dictionary/map with added order
body: <p>I want to have something similar to map but while iterating I want them to be in the same order as it is added.</p>
  
  <p>Example</p>
  
  <pre><code>map.insert("one", 1);
  map.insert("two", 2);
  map.insert("three", 3);
  </code></pre>
  
  <p>While iterating I want the items to be like "one", ""two", "three"..By default, map doesn't provide this added order. How to get the map elements the way I have added? I want to retain the insertion order.</p>
  
  <p>Anything with STL is fine or other alternative suggestions also fine.</p>