안녕하세요~
말씀하신 반복자의 범주를 크게 5가지로 분류하여 정리해 보았습니다.
- 입력 반복자(input iterator) : 현 위치의 원소를 한 번만 읽을 수 있는 반복자 (istream)
- 출력 반복자(output iterator) : 현 위치의 원소를 한 번만 쓸 수 있는 반복자 (ostream)
- 순방향 반복자(forward iterator) : 입력, 출력 반복자 기능에 순방향으로 이동(++)이 가능한 재할당될 수 있는 반복자
- 양방향 반복자(bidirectional iterator) : 순방향 반복자 기능에 역방향으로 이동(--)이 가능한 반복자
( list, set, mulitset, map, multimap)
- 임의 접근 반복자(random access iterator) : 양방향 반복자 기능에 +, -, += , -=, [] 연산이 가능한 반복자
(vector, deque)