모두의 코드
C++ 레퍼런스 - fill 함수 (<algorithm>)

작성일 : 2019-02-18 이 글은 767 번 읽혔습니다.

아직 C++ 에 친숙하지 않다면 씹어먹는 C++ 은 어때요?

fill

<algorithm> 에 정의됨

template <class ForwardIterator, class T>
void fill(ForwardIterator first, ForwardIterator last, const T& val);

범위 내의 원소들을 val 로 채운다.

범위 내 (first 부터 last 전 까지) 원소들에 val 을 대입합니다. 이 때 대입을 위해 operator= 가 사용됩니다.

인자들

리턴값

없음

구현 예시

template <class ForwardIterator, class T>
void fill(ForwardIterator first, ForwardIterator last, const T& val) {
  while (first != last) {
    *first = val;
    ++first;
  }
}

실행 예제

#include <algorithm>  // std::fill
#include <iostream>   // std::cout
#include <vector>     // std::vector

int main() {
  // myvector: 0 0 0 0 0 0 0 0
  std::vector<int> myvector(8);

  // myvector: 5 5 5 5 0 0 0 0
  std::fill(myvector.begin(), myvector.begin() + 4, 5);

  // myvector: 5 5 5 8 8 8 0 0
  std::fill(myvector.begin() + 3, myvector.end() - 2, 8);

  std::cout << "myvector contains:";
  for (std::vector<int>::iterator it = myvector.begin(); it != myvector.end();
       ++it)
    std::cout << ' ' << *it;
  std::cout << '\n';

  return 0;
}

실행 결과

실행 결과

myvector contains: 5 5 5 8 8 8 0 0

참고 자료

첫 댓글을 달아주세요!
프로필 사진 없음
강좌에 관련 없이 궁금한 내용은 여기를 사용해주세요