Does a std::vector constructor not call object constructors for each element?
<p>My code resembles something along these lines.</p>

<pre><code>class A
{
  public:
    A(int i) { printf("hello %d\n", i); }
    ~A() { printf("Goodbye\n"); }
}


std::vector(10, A(10));
</code></pre>

<p>I notice that hello prints out once.
It seems to imply that the vector only allocates space for the element 
but doesn't construct it.    How do I make it construct 10 A objects?</p>
