이터레이터는 컨테이너에 저장되어 있는 요소의 주소를 가르키는 개체를 말하며 포인터를 일반화한 것을 말한다. vector, map 등 각각 다르게 구현된 컨테이너들을 일반화된 이터레이터를 통해 쉽게 순회할 수 있다.
begin()
컨테이너의 시작 위치를 반환
end()
컨테이너의 끝 다음의 위치를 반환.
advance(iterator, cnt)
해당 iterator를 cnt 까지 증가시킨다.
이터레이터와 포인터의 차이
이터레이터는 어떠한 컨테이너(배열, 맵 등)의 범위 안에서 일부 요소를 가리키며 해당 요소들을 순회할 수 있는 개체이다. 이는 컨테이너의 개체를 참조하는 것이기 때문에 이 자체를 제거할 순 없다.
반면 포인터는 변수의 메모리 주소를 저장하는 개체이며 포인터는 delete를 통해 포인터를 제거할 수 있다.