title: Inserting elements at desired positions in a STL map
body: <pre><code>map &lt;int, string&gt; rollCallRegister;
  map &lt;int, string&gt; :: iterator rollCallRegisterIter;
  map &lt;int, string&gt; :: iterator temporaryRollCallRegisterIter;
  
  rollCallRegisterIter     = rollCallRegister.begin ();
  tempRollCallRegisterIter = rollCallRegister.insert (rollCallRegisterIter, pair &lt;int, string&gt; (55, "swati"));
  
  rollCallRegisterIter++;
  tempRollCallRegisterIter = rollCallRegister.insert (rollCallRegisterIter, pair &lt;int, string&gt; (44, "shweta"));
  
  rollCallRegisterIter++;
  tempRollCallRegisterIter = rollCallRegister.insert (rollCallRegisterIter, pair &lt;int, string&gt; (33, "sindhu"));
  
  // Displaying contents of this map.
  cout &lt;&lt; "\n\nrollCallRegister contains:\n";
  for (rollCallRegisterIter = rollCallRegister.begin(); rollCallRegisterIter != rollCallRegister.end(); ++rollCallRegisterIter)
  {
      cout &lt;&lt; (*rollCallRegisterIter).first &lt;&lt; " =&gt; " &lt;&lt; (*rollCallRegisterIter).second &lt;&lt; endl;
  }
  </code></pre>
  
  <p>Output:</p>
  
  <pre><code>rollCallRegister contains:
  33 =&gt; sindhu
  44 =&gt; shweta
  55 =&gt; swati
  </code></pre>
  
  <p>I have incremented the iterator. Why is it still getting sorted? And if the position is supposed to be changed by the map on its own, then what's the purpose of providing an iterator?</p>