std::ranges::copy_n
Актуально для C++26.
#include <algorithm>
Актуально на 2025-06-15.
Define overload #1
template<input_iterator I, weakly_incrementable O>
requires indirectly_copyable<I, O>
constexpr ranges::copy_n_result<I, O>
copy_n(I first, iter_difference_t<I> n, O result);
Копирует элементы из диапазона [first, first + n] в result;
Example, possible implementation
Возвращаемое значение
Вернёт два итератора {first, result}, смещенных на количество скопированных элементов.
Examples
Example 1:
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
namespace ranges = std::ranges;
int main()
{
std::string copyed = "world!";
std::vector<char> result {'h', 'e', 'l', 'l', 'o', ' '};
ranges::copy_n(copyed.begin(), 5, std::back_inserter(result));
for (auto c : result)
std::cout << c;
std::cout << std::endl;
}
hello world
Changelog
C++20
Введён в стандарт.See also
TODO
This page was last modified on 2025-06-15