iteration design

`for` 루프 설계표

반복 횟수나 순회 범위가 명확하면 `for`가 반복 상태를 한 줄에 모읍니다. 네 칸을 분리해서 보면 인덱스 오류와 무한 반복을 줄일 수 있습니다.

1

초기화

카운터 시작값과 범위 시작점을 정합니다. 보통 `int i = 0`처럼 한 곳에 둡니다.

2

종료 조건

언제 멈출지 정합니다. 배열 길이는 `i < size`처럼 끝 인덱스를 넘지 않게 둡니다.

3

본문

반복마다 할 일을 넣습니다. 카운터를 본문에서 불필요하게 바꾸지 않는 편이 안전합니다.

4

증감

다음 반복으로 이동하는 규칙입니다. 증가, 감소, 2칸 이동 같은 패턴을 명확히 합니다.

일반 `for`

인덱스가 필요하거나 일부 구간만 순회하거나 역방향으로 이동할 때 사용합니다.

범위 기반 `for`

컨테이너 전체를 순회하고 인덱스가 필요 없을 때 요소 접근만 남깁니다.

참조 순회

요소를 수정하려면 `auto&`, 읽기만 하면 `const auto&`로 복사를 줄입니다.