Функция move
Функция move из заголовочного файла algorithm
перемещает элементы из исходного диапазона в диапазон назначения.
В первый параметр мы передаем итератор начала исходного диапазона,
во второй - итератор конца исходного диапазона, а в третий -
итератор начала диапазона назначения. Функция возвращает итератор
на элемент, следующий за последним перемещённым элементом.
Синтаксис
move(first, last, dest)
Пример
Давайте переместим элементы вектора {1, 2, 3, 4, 5}
в другой вектор:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> src = {1, 2, 3, 4, 5};
vector<int> dest(5);
move(src.begin(), src.end(), dest.begin());
for (int el : dest) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте переместим только часть элементов вектора
{1, 2, 3, 4, 5}, начиная со второго и заканчивая
четвёртым:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> src = {1, 2, 3, 4, 5};
vector<int> dest(3);
move(src.begin() + 1, src.begin() + 4, dest.begin());
for (int el : dest) {
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
2 3 4
Смотрите также
-
функция
copy,
которая копирует элементы из одного диапазона в другой -
функция
copy_if,
которая копирует элементы, удовлетворяющие условию -
функция
copy_backward,
которая копирует элементы в обратном порядке -
функция
transform,
которая преобразует элементы диапазона