title: Which constructor of std::vector is used in this case
body: <p>This looks simple but I am confused: The way I create a vector of hundred, say, <code>int</code>s is</p>
  
  <pre><code>std::vector&lt;int&gt;  *pVect = new std::vector&lt;int&gt;(100);
  </code></pre>
  
  <p>However, looking at std::vector's <a href="http://en.cppreference.com/w/cpp/container/vector/vector" rel="nofollow noreferrer">documentation</a> I see that its constructor is of the form</p>
  
  <pre><code>explicit vector ( size_type n, const T&amp; value= T(), const Allocator&amp; = Allocator() );
  </code></pre>
  
  <p>So, how does the previous one work? Does <code>new</code> call the constructor with an initialization value obtained from the default constructor? If that is the case, would</p>
  
  <pre><code>std::vector&lt;int, my_allocator&gt; *pVect = new std::vector&lt;int&gt;(100, my_allocator);
  </code></pre>
  
  <p>where I pass my own allocator, also work?</p>