iterator
반복자 유효성 점검표
반복자는 컨테이너 변경 규칙과 함께 이해해야 안전하다.
범위같은 컨테이너 쌍
능력요구 범주 충족
수명수정 후 재획득
반환다음 위치 처리
| 구분 | 판단 기준 | 다음 행동 |
|---|---|---|
| 순회 전 | first와 last가 같은 범위를 이루는가 | end() 포함 여부 확인 |
| 수정 중 | erase/insert가 현재 반복자를 끊는가 | 반환값으로 다음 위치 갱신 |
| 알고리즘 후 | 반환 반복자나 새 끝 위치가 의미 있는가 | remove/unique 뒤 erase 마감 |
| 재사용 전 | 이전 반복자를 다음 루프에서 써도 되는가 | 컨테이너 수정 이력 확인 |
핵심 반복자 버그는 순회 전 범위, 수정 중 수명, 호출 후 반환값을 끊어서 볼 때 줄어든다.