ranges::copy_n

ranges::copy_n (개수만큼 복사)

범위에서 지정한 개수만큼의 요소를 목적지로 복사하는 ranges 버전 알고리즘이에요. <algorithm> 헤더에 있어요.

출처: cppreference

본문

std::ranges::copy_nfirst부터 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은 개수로 복사량을 지정해요. 소스와 목적지가 겹치면 결과 순서가 예측 불가능해질 수 있어요.

더 알아보기 (Learn more)

cppreference