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 버전이에요.