기본 패턴
cpp
for (const auto& value : values) {
std::cout << value << "\n";
}설명
- 전통적인
for는 인덱스 기반 순회에 적합합니다. - range-based
for는 컨테이너 원소를 더 간단하게 순회하게 해 줍니다. while은 조건이 만족되는 동안 반복하는 구조라 입력 처리나 시뮬레이션에 자주 쓰입니다.break,continue의미는 C와 유사하지만, 반복 대상이 컨테이너일 때는 범위 기반 문법이 훨씬 읽기 좋습니다.
짧은 예제
cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> values{3, 7, 10, 12};
for (int value : values) {
if (value % 2 == 0) {
std::cout << "first even = " << value << "\n";
break;
}
}
}빠른 정리
| 항목 | 설명 |
|---|---|
전통 for | 인덱스와 범위를 직접 관리 |
range-based for | 컨테이너 원소를 간단히 순회 |
while | 조건 중심 반복 |
break | 반복 즉시 종료 |
continue | 현재 회차를 건너뜀 |
주의할 점
컨테이너를 값으로 순회하면 원소가 복사될 수 있습니다. 큰 객체는 const auto&처럼 참조로 읽는 편이 더 효율적입니다.