[C++] fill 함수 사용하기
C++에서 fill 함수를 사용해보자
환경 및 선수조건
- C++
목적
fill
함수는 어떤 연속성을 띈 자료구조(벡터나 배열 같은)의 시작점부터 연속된 범위를 어떤 값이나 객체로 모두 지정하고 싶을 때 사용하는 함수이다.
기본 함수 구조 및 매개변수
#include <algorithm>
void fill (ForwardIterator first, ForwardIterator last, const T& val);
#include <algorithm>
: fill함수를 사용하기 위해 필요한 헤더파일first
: 채우고자 하는 자료구조의 시작위치 iteratorlast
: 채우고자 하는 자료구조의 끝위치 iterator이며 last는 포함하지 않는다!val
: first부터 last전까지 채우고자 하는 값으로 어떤 객체나 자료형을 넘겨줘도 템플릿 T에 의해서 가능하다.
코드
- 코드
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main () {
// 백터 생성
vector<int> v(8);
// 1번째 위치부터 4번째 위치까지 1로 할당
fill (v.begin(), v.begin()+4, 1);
// 5번째 위치부터 끝까지 2로 할당
fill (v.begin()+4, v.end(), 2);
cout << "v contains :";
for (vector<int>::iterator it=v.begin(); it!=v.end(); ++it)
cout << ' ' << *it;
cout << '\n';
// 배열 생성
int a[8] = {0,};
// 1번째 위치부터 4번째 위치까지 1로 할당
fill (a, a + 4, 1);
// 5번째 위치부터 끝까지 2로 할당
fill (a + 4, a + sizeof(a)/sizeof(int), 2);
printf("a contains :");
for (int i = 0; i<sizeof(a)/sizeof(int); i++)
printf(" %d", a[i]);
printf("\n");
return 0;
}