ranges::for_each_n

ranges::for_each_n (개수만큼 함수 적용)

시작 위치부터 지정한 개수만큼의 요소에 호출 가능 객체를 적용하는 ranges 버전 알고리즘이에요. <algorithm> 헤더에 있어요.

출처: cppreference

본문

std::ranges::for_each_n[first, first + n)의 각 요소에 함수 객체 f를 적용해요.

namespace std::ranges {
template< std::input_iterator I, class Proj = std::identity,
          std::indirectly_unary_invocable<std::projected<I, Proj>> Fun >
constexpr for_each_n_result<I, Fun>
    for_each_n( I first, std::iter_difference_t<I> n, Fun f, Proj proj = {} );
}
  • 반환 타입 for_each_n_result{in, fun}.
  • n개를 처리한 뒤 마지막 반복자를 반환해요.
std::vector<int> v{1, 2, 3, 4, 5};
std::ranges::for_each_n(v.begin(), 3, [](int& x){ x += 10; });
// v == {11,12,13,4,5}

"앞의 N개만" 처리할 때 유용한 ranges 버전이에요.

더 알아보기 (Learn more)

cppreference