Вы создаете два вектора размером 2. Затем вы перемещаете все элементы из одного вектора в другой. Теперь у вас есть один неизмененный вектор и другой вектор с 4 элементами. Нажатие двух элементов в конце не окажет никакого влияния на первый элемент (тот, который вы печатаете).
Для копирования векторов используйте простое назначение:
vehiclesCopy = vehicles;
Или, если вы хотите использоватьцикл (почему бы вам?), предполагая, что они оба имеют правильный размер (они делают в вашем примере):
for(int i=0;i<vehicles.size();i++) {
vehiclesCopy[i] = vehicles[i];
}
PS: этот ответ не полная правда. Если vehiclesCopy
на самом деле является просто копией vehicles
, вам не следует сначала создавать пустой вектор, а затем копировать его, а вместо этого использовать правильный конструктор. Подробнее см. здесь (перегрузка (6) - ваш друг здесь).