Он создаст один I из -1, остальные будут скопированы из этого.
Если вы создаете тип, который имеет неявный конструктор из int, и печатает, когда этот конструктор вызывается,затем создайте вектор таким образом размером, скажем, 10, и вы увидите, что ваша печать происходит только один раз, а не 10 раз.
например
#include <vector>
#include <iostream>
struct Foo
{
int m_value;
Foo() : m_value( 0 ) {}
Foo( int i ) : m_value( i )
{
std::cout << "Constructor from int\n";
}
};
int main()
{
std::vector<Foo> foovec( 10, -1 );
}