iterator

반복자는 범위, 능력, 수명을 약속한다

컨테이너가 달라도 알고리즘은 반복자 계약만 보고 순회한다.

first시작 위치
last마지막 다음
*it현재 원소 접근
++it다음 원소 이동
구분판단 기준다음 행동
범위시작과 끝을 한 쌍으로 넘긴다[first, last) 관례 확인
접근역참조로 현재 원소를 읽거나 쓴다end()는 역참조 금지
이동반복자 범주가 허용하는 이동만 가능++만 되는지, +n도 되는지 확인
수명컨테이너 수정 후 기존 반복자가 끊길 수 있다수정 뒤 반복자 재획득

핵심 반복자는 포인터처럼 보이지만 실제로는 “범위와 이동 능력”을 약속하는 객체다.