iterator

반복자 유효성 점검표

반복자는 컨테이너 변경 규칙과 함께 이해해야 안전하다.

범위같은 컨테이너 쌍
능력요구 범주 충족
수명수정 후 재획득
반환다음 위치 처리
구분판단 기준다음 행동
순회 전first와 last가 같은 범위를 이루는가end() 포함 여부 확인
수정 중erase/insert가 현재 반복자를 끊는가반환값으로 다음 위치 갱신
알고리즘 후반환 반복자나 새 끝 위치가 의미 있는가remove/unique 뒤 erase 마감
재사용 전이전 반복자를 다음 루프에서 써도 되는가컨테이너 수정 이력 확인

핵심 반복자 버그는 순회 전 범위, 수정 중 수명, 호출 후 반환값을 끊어서 볼 때 줄어든다.