title: Adding empty element to declared container without declaring type of element
body: <p>When we use a complicated container in C++, like</p>
  
  <pre><code>std::vector&lt;std::map&lt;std::string, std::set&lt;std::string&gt;&gt;&gt; table;
  </code></pre>
  
  <p>The only way to add an empty map (which may represent a row or column) is to initialize a new element and push it back. For example with</p>
  
  <pre><code>table.push_back(std::map&lt;std::string, std::set&lt;std::string&gt;&gt;());
  </code></pre>
  
  <p>Is there any way to avoid redeclaring the type, and just adding the correct typed element?</p>