Вы используете resize
, когда вы на самом деле хотите использовать метод reserve
.Дело в том, что изменение размера меняет содержимое вектора, а резерв только изменяет емкость хранилища.Поэтому, если вы измените размер вектора на N элементов, а затем вставите в него некоторые элементы, они будут перемещены в позиции N, N + 1 и т. Д., А если вы просто зарезервируете размер для N элементов, они будут перемещены в позиции 0, 1.и т. д., чего вы, похоже, хотите.