title: Most efficient way to assign values to maps
body: <p>Which way to assign values to a map is most efficient? Or are they all optimized to the same code (on most modern compilers)?</p>
  
  <pre><code>   // 1) Assignment using array index notation
     Foo["Bar"] = 12345;
  
     // 2) Assignment using member function insert() and STL pair
     Foo.insert(std::pair&lt;string,int&gt;("Bar", 12345));
  
     // 3) Assignment using member function insert() and "value_type()"
     Foo.insert(map&lt;string,int&gt;::value_type("Bar", 12345));
  
     // 4) Assignment using member function insert() and "make_pair()"
     Foo.insert(std::make_pair("Bar", 12345));
  </code></pre>
  
  <p>(I know I could benchmark and check compiler output, but this question arose now and the only thing I have close at hand is my mobile phone... hehe)</p>