template <class T>
...
explicit Vec(size_type n, const T& t = T() ) { create(n, t); }
I come across this declaration in 'accelerated c++' and the 'Vec' class is simulating the behavior of 'vector' class in STL. But I don't know what will happen if I don't provide the second argument when I call this constructor. I am confused about this because I learned from the book that there is no return value of any constructor? So how can T() be used to initialize t? I a novice of C++. Could anyone elaborate relevant story to me?