The default vector constructor takes no arguments, creates a new instance of
that vector.

The second constructor is a default copy constructor that can be used to create
a new vector that is a copy of the given vector c.

The third constructor creates a vector with num objects. If val is specified,
each of those objects will be given that value, otherwise, those objects are
given TYPE's default constructor's value. For example, the following code
creates a vector consisting of five copies of the integer 42:

vector<int> v1( 5, 42 );

The last constructor creates a vector that is initialized to contain the
elements between start and end. For example: