fill 함수는 지정된 범위에 있는 요소들을 특정 값으로 채우는 함수다.
void fill(ForwardIterator first, ForwardIterator last, const T& value);
매개변수
first: 채우기 시작할 반복자(포함)last: 채우기를 끝낼 반복자(미포함)value: 범위를 채울 값동작
(first, last) 범위에 있는 모든 요소를 value로 채운다.#include <iostream>
#include <vector>
#include <algorithm> // fill 함수가 포함된 헤더
int main() {
std::vector<int> vec(10);
// 벡터를 7로 채움
std::fill(vec.begin(), vec.end(), 7);
for (int num : vec) {
std::cout << num << " ";
}
return 0;
}
출력 결과:
7 7 7 7 7 7 7 7 7 7
#include <iostream>
#include <algorithm> // fill 함수가 포함된 헤더
int main() {
int arr[10] = {0};
// 배열의 3번째부터 7번째 요소를 5로 채움
std::fill(arr + 2, arr + 7, 5);
for (int num : arr) {
std::cout << num << " ";
}
return 0;
}
출력 결과:
0 0 5 5 5 5 5 0 0 0
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5, 6, 7, 8};
// 2번째부터 6번째 요소를 9로 채움
std::fill(vec.begin() + 1, vec.begin() + 6, 9);
for (int num : vec) {
std::cout << num << " ";
}
return 0;
}
출력 결과:
1 9 9 9 9 9 6 7 8
fill 함수는 임의 접근 반복자뿐만 아니라 순차 접근 반복자를 지원한다. 즉, 리스트(std::list)에서도 사용할 수 있다.(first, last) 범위를 벗어나지 않도록 반복자의 유효 범위를 항상 확인해야 한다.std::fill_n : 지정된 개수의 요소를 특정 값으로 채우는 함수
void fill_n(OutputIterator first, Size count, const T& value);
매개변수
first: 값을 채우기 시작할 위치를 나타내는 반복자count: 채울 요소의 개수value: 채울 값동작
first부터 시작해서 count개의 요소를 value로 채운다.예시
std::vector<int> vec(10);
std::fill_n(vec.begin(), 5, 3); // 처음 5개의 요소를 3으로 채움