Функция ranges::copy
Функция ranges::copy копирует элементы из
исходного диапазона в диапазон назначения.
В первом параметре мы передаем исходный
диапазон (например, вектор или массив),
а во второй - итератор, указывающий, куда
следует записывать копируемые элементы.
Функция возвращает объект, содержащий
итератор на конец скопированной
последовательности и итератор на конец
исходного диапазона.
Синтаксис
ranges::copy(source, destination)
Пример
Давайте скопируем все элементы вектора
{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> dst(5);
ranges::copy(src, dst.begin());
for (int el : dst)
{
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Пример
Давайте скопируем элементы вектора в динамический массив и выведем результат:
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
vector<int> src = {1, 2, 3, 4, 5};
int dst[5];
ranges::copy(src, dst);
for (int el : dst)
{
cout << el << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
1 2 3 4 5
Смотрите также
-
функция
ranges::find,
которая ищет элемент в диапазоне -
функция
ranges::count,
которая подсчитывает количество элементов -
функция
ranges::begin,
которая возвращает итератор на начало диапазона -
функция
ranges::end,
которая возвращает итератор на конец диапазона