[STL] 반복자란



반복자

반복자는 포인터와 비슷하게 동작한다. 반복자는 컨테이너의 원소를 순회하고 접근하는 일반화 된 방법을 제공한다. 그렇기 때문에 컨테이너와 알고리즘이 하나로 동작하게 묶어주는 인터페이스 역할은 한다.

특징

1.반복자는 컨테이너 내부의 원소(객체)에 접근이 가능해야 한다.(* 연사자 제공)

2.반복자는 컨테이너 내부를 순회할 수 있어야 한다. (증감연산자,비교연산자 제공)


STL에서는 순차열이란게 존재하는데 여기서 순차열이란 컨테이너 원소(객체)의 순서있는 집합을 의미한다.

순차열은 하나의 시작과 끝을 갖는다. 여기서 반복자는 순차열의 하나의 원소를 가리킨다.

STL의 모든 컨테이너는 순차열의 시작과 끝을 가리키는 반복자를 제공한다.

begin() 순차열의 시작을 가리키는 반복자 반환

end() 순차열의 끝을 가리키는 반복자 반환

여기서 주의할 점은 순차열의 시작과 끝에서 끝은 순차열의 실제 원소가 아니라 끝을 표시하는 원소라는 것이다.

순차열을 나타낼 때에는 [begin,end) 이런식으로 나타낸다. 여기서 만약에 순차열 [p,q)에서 p,q의 값이 같다면 이 순차열은 원소가 없다는 뜻이다.

*연산자로 반복자가 가리키는 원소에 접근하며

++연산자로 반복자를 다음 원소를 가리키게 하며

==,!= 연산자로 순차열의 끝을 판단한다.

반복자 생성 방법

반복자 생성 방법은 다음과 같다.

**컨테이너이름<자료형>::iterator 반복자명;**




© 2022. by KSC

Powered by sora