STL 프로그래밍에서 반복자의 범주가 어떻게 되나요??
반복자는 컨테이너에 저장된 원소를 순회하고 접근하는 일반화된 방법을 제공하고, 알고리즘과 하나로 동작하게 묶어주는 인터페이스 역할을 한다는 것을 알고 있는데요.
특정 컨테이너에 종속적이지 않고 독립적이면서도 언제든지 결합하여 동작할 수 있다는 게 놀라운데, 그렇다면 STL 프로그래밍에서 반복자의 범주가 어떻게 되나요??
55글자 더 채워주세요.
1개의 답변이 있어요!
안녕하세요~
말씀하신 반복자의 범주를 크게 5가지로 분류하여 정리해 보았습니다.
- 입력 반복자(input iterator) : 현 위치의 원소를 한 번만 읽을 수 있는 반복자 (istream)
- 출력 반복자(output iterator) : 현 위치의 원소를 한 번만 쓸 수 있는 반복자 (ostream)
- 순방향 반복자(forward iterator) : 입력, 출력 반복자 기능에 순방향으로 이동(++)이 가능한 재할당될 수 있는 반복자
- 양방향 반복자(bidirectional iterator) : 순방향 반복자 기능에 역방향으로 이동(--)이 가능한 반복자
( list, set, mulitset, map, multimap)
- 임의 접근 반복자(random access iterator) : 양방향 반복자 기능에 +, -, += , -=, [] 연산이 가능한 반복자
(vector, deque)