При добавлении нового элемента в std::vector:
vector проверяет, достаточно ли текущей выделенной памяти (capacity()) для хранения нового элемента.vector выделяет новый, больший буфер памяти (как правило, в 1.5 или 2 раза больше текущего).size()) и емкости (capacity()) vector.Если текущая емкость достаточна, новый элемент просто добавляется в конец существующего буфера, и обновляется только счетчик размера.
Пример:
c
Вывод может немного отличаться в зависимости от реализации STL, но общая логика с перевыделением и перемещением при нехватке емкости сохраняется.