C++에서 for 루프를 사용하여 std::vector의 값들을 확인하는 방법은 크게 세 가지가 있으며, 각각의 장단점과 유용한 상황이 있습니다.

1. 인덱스 기반 for 루프 (Traditional For Loop)

가장 전통적이고 기본적인 방법으로, 인덱스를 사용하여 벡터의 요소에 접근합니다.

문법:

std::vector<int> numbers = {10, 20, 30, 40, 50};

for (size_t i = 0; i < numbers.size(); ++i) {
    std::cout << numbers[i] << " ";
}

특징:


2. 범위 기반 for 루프 (Range-based For Loop)

C++11부터 도입된 문법으로, 컨테이너의 모든 요소를 순서대로 순회할 때 가장 간결하고 가독성이 높습니다.

문법:

std::vector<int> numbers = {10, 20, 30, 40, 50};

// 값 복사
for (int num : numbers) {
    std::cout << num << " ";
}

// 값 수정 (참조 사용)
for (int& num : numbers) {
    num = num * 2;
}

// 값 읽기만 할 때 (const 참조 사용)
for (const int& num : numbers) {
    std::cout << num << " ";
}

특징:


3. 이터레이터 기반 for 루프 (Iterator-based For Loop)