[C++] 반복자 iterator

윤경·2021년 1월 26일
0

C++

목록 보기
4/20
post-custom-banner

📌 개념

  • 반복자는 컨테이너와 알고리즘이 하나로 동작하도록 묶어주는 인터페이스 역할.
  • iterator로 인해 특정 컨테이너에 종속적이지 않고 독립적이면서도 언제든지 컨테이너와 결합해 동작 가능.

📌 성질

  • 컨테이너와 컨테이너 안의 요소를 구별
  • 요소의 값 확인
  • 컨테이너 안에 있는 요소들 간 이동할 수 있는 연산 제공
  • 컨테이너가 효과적으로 처리할 수 있는 방식으로 가용한 연산들을 한정

📌 종류

  • 입력 반복자(input iterator): 읽기만 가능, 순방향 이동, 현 위치의 원소를 한 번만 읽을 수 있음
    ex) istream
  • 출력 반복자(output iterator): 쓰기만 가능, 순방향 이동, 현 위치의 원소를 한 번만 쓸 수 있음
    ex) ostream
  • 순방향 반복자(forward iterator): 읽/쓰기 모두 가능, 순방향 이동이 가능한 재할당될 수 있는 반복자
  • 양방향 반복자(bidirectional iterator): 읽/쓰기 모두 가능, 순/역 방향 이동(--) 가능
    ex) list, set, muliset, map, multimap
  • 임의 접근 반복자(random access iterator): 읽/쓰기 모두 가능, 임의 접근, 양방향 반복자 기능에 +, -, +=, -=, []연산이 가능
    ex) (배열 기반 컨테이너) vector, deque

모든 컨테이너는 양방향 반복자 이상을 제공

profile
개발 바보 이사 중
post-custom-banner

0개의 댓글