title: initializing map<string, vector<string> >
body: <p>I am initializing <code>map&lt;string, vector&lt;string&gt; &gt;</code> as follows:</p>
  
  <pre><code>map &lt;string, vector&lt;string&gt; &gt; dict;
  
  dict["USA"].push_back("NYC");
  dict["USA"].push_back("LA");
  dict["USA"].push_back("Chicago");
  dict["USA"].push_back("Dallas");
  
  dict["India"].push_back("Delhi");
  dict["India"].push_back("Bombay");
  
  dict["Australia"].push_back("Melbourne");
  dict["Australia"].push_back("Sydney");
  dict["Australia"].push_back("Adelaide");
  </code></pre>
  
  <p>I find this cumbersome. The same thing can be done in <code>tcl</code> as follows which is cleaner:</p>
  
  <pre><code>array set dict {
  USA {NYC LA Chicago Dallas}
  India {Delhi Bombay}
  Australia {Melbourne Sydney Adelaide}
  }
  </code></pre>
  
  <p>Is there a more cleaner way to initialize in <code>C++</code>? My compiler is <code>gcc 3.4.6</code></p>