После этих утверждений его емкость определяется реализацией.(Обратите внимание, что он отличается от своего размера.)
vector<int> myVector(20);
Это создает вектор, заполненный двадцатью 0.Его размер ровно двадцать, а вместимость не менее двадцати.Независимо от того, точно ли это двадцать, определяется реализацией;он может иметь больше (вероятно, нет, на практике).
myVector.push_back(5);
После этого двадцать первый элемент массива равен 5, а емкость снова определяется реализацией.(Если емкость была ровно двадцать раньше, теперь она увеличивается неопределенным образом.)
myVector.push_back(14);
Аналогично, теперь двадцать второй элемент массива равен 14, а емкость определяется реализацией.
Если вы хотите зарезервировать пространство, но не вставлять элементы, вы сделаете это следующим образом:
vector<int> myVector;
myVector.reserve(20); // capacity is at least twenty, guaranteed not
// to reallocate until after twenty elements are pushed
myVector.push_back(5); // at index zero, capacity at least twenty.
myVector.push_back(14); // at index one, capacity at least twenty.