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