Still with pointers the memory would be initialized with value of `T()`, where `T` is an arbitrary type in `std::vector<T>`. Using `reserve()`, one saves at least O(n) writes of the default value.