본문 바로가기

C++ Programming/STL

반복자 종류

1. 삽입 반복자
  -  목적지가 충분한 공간을 확보하지 않았을 경우 목적지의 사이즈를 증가시켜준다.
    3가지 종류가 있다.
    ex) 1) copy(coll1.begin(),coll1.end(), // 소스
                     back_inserter(coll2)); //목적지 - 후위삽입반복자
          2) copy(coll1.begin(),coll1.end(), // 소스
                     front_inserter(coll2)); //목적지 - 전위산입반복자
          3) copy(coll1.begin(),coll1.end(), // 소스
                     inserter(coll4,coll4.begin()); //목적지 - 일반적인 삽입반복자

2. 스트림 반복자
   - 스트림에서부터 읽기와 쓰기가 가능한 반복자이다.
     ex) //표준입력에서부터 모든 단어를 읽어들인다.
          //소스 : EOF까지의 모든 스트링
          // 목적지 : coll
           vector <string> coll1;
           copy(istream_iterator<string>(cin), //소스의 출발점
                   istream_iterator<string>(), //소스의 종료점
                   back_inserter(coll1)); //목적지 : 기록할 위치

3. 역방향 반복자 
   rbegin(),rend()를 통해 역순모드로 작동한다.
     ex) copy(coll1.rbegin(),coll1.rend(), //소스
                  ostream_iterator<int>(cout," ")); //목적지