ranges::copy_n
ranges::copy_n (개수만큼 복사)
범위에서 지정한 개수만큼의 요소를 목적지로 복사하는 ranges 버전 알고리즘이에요. <algorithm> 헤더에 있어요.
출처: cppreference
본문
std::ranges::copy_n은 first부터 count개의 요소를 result로 복사해요.
namespace std::ranges {
template< std::input_iterator I, class Size, std::weakly_incrementable O >
requires std::indirectly_copyable<I, O>
constexpr copy_n_result<I, O>
copy_n( I first, Size count, O result );
}
count > 0이면[first, first + count)를 복사해요.- 반환 값:
copy_n_result{in, out}.
std::vector<int> src{10, 20, 30, 40};
std::vector<int> dst(2);
std::ranges::copy_n(src.begin(), 2, dst.begin()); // dst == {10,20}
copy가 범위라면, copy_n은 개수로 복사량을 지정해요. 소스와 목적지가 겹치면 결과 순서가 예측 불가능해질 수 있어요.