title: stl vector and c++: how to .resize without a default constructor?
body: <p>How do I tell STL, specifically for the method <code>resize()</code> in vector, to initialize objects with a constructor other than default, and with which parameters?</p>
  
  <p>For example:</p>
  
  <pre><code>class something {
      int a;
      something (int value);
  }
  
  std::vector&lt;something&gt; many_things;
  
  many_things.resize (20);
  </code></pre>
  
  <p>More generally, how do I force STL to use my constructor when it needs to create objects, and pass parameters to that constructor?</p>
  
  <p>In my case adding a default constructor is not an option, and I'd prefer not to use an array of pointers to solve the problem.</p>