generate_n

generate_n (지정 개수만큼 함수 결과로 채우기)

시작 위치부터 지정한 개수만큼의 요소에 생성기 함수의 호출 결과를 대입하는 알고리즘이에요. <algorithm> 헤더에 있어요.

출처: cppreference

본문

generate_ncount가 양수이면 범위 [first, std::next(first, count))의 각 요소에 gen()을 연속 호출한 결과를 대입해요.

template< class OutputIt, class Size, class Generator >
OutputIt generate_n( OutputIt first, Size count, Generator gen );   // (1)
    1. count > 0이면 각 요소에 gen() 결과를 대입하고, 마지막으로 생성한 요소 다음 반복자를 반환해요.
    1. 실행 정책 버전(C++17).
std::vector<int> v(5);
int n = 100;
std::generate_n(v.begin(), 3, [&n]{ return n += 10; });
// v == {110,120,130,0,0}

생성기 결과로 "앞의 N개"만 채우고 싶을 때 써요. generate의 개수 지정 버전이에요.

더 알아보기 (Learn more)

cppreference