Ответ 1
См. http://en.cppreference.com/w/cpp/language/default_initialization
Инициализация по умолчанию выполняется в трех ситуациях:
- когда переменная с автоматической продолжительностью хранения объявляется без инициализатора
- когда объект с динамической продолжительностью хранения создается новым выражением без инициализатора
- когда базовый класс или элемент нестатических данных не упоминается в списке инициализаторов конструктора и этот конструктор называется.
Эффекты инициализации по умолчанию:
- Если T является типом класса , конструктор по умолчанию вызывается для предоставления начального значения для нового объекта.
- Если T - тип массива, каждый элемент массива инициализируется по умолчанию.
- В противном случае ничего не делается.
Так как std::vector
- это тип класса, вызываемый его конструктором по умолчанию. Поэтому инициализация вручную не требуется.