[C++] iterator 반복자

윤경·2021년 8월 30일
0

C++

목록 보기
17/20

C++의 iterator

: c++ 라이브러리가 제공하는 반복자
컨테이너에 저장된 원소들을 순회하고 접근해 참조할 수 있다.

컨테이너에 저장된 모든 원소들을 전체적으로 훑을 때 사용하며 일종의 포인터와 비슷한 객체라고 할 수 있다.

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

사용법

선언:

vector<int>::iterator iter;

초기화: vector 반복자 iter는 v의 시작점을 가리킴

iter = v.begin();

(📌 end(): vector의 마지막 요소 바로 뒤를 반환해줌)

임의접근:

cout << iter[1];

연산사용: (iter 자리이동)

iter += 2;
cout << *iter;

vector의 순방향:

for(iter=v.begin(); iter!=v.end(); iter++) {
	cout << *iter;
}
  • 양방향 반복자: list, set, multiset, map, multimap
  • 임의 접근 반복자 (+, -, +=, -=, []연산 가능): vector, deque
    (임의 접근은 인덱스를 통해 접근하여 해당 값을 리턴할 뿐 iter가 가리키는 값을 바꾸는 것이 X)

참고1
참고2

profile
개발 바보 이사 중

0개의 댓글