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