본문 바로가기

[C++11] 범위 기반 for (range-based for loop)

컨테이너의 모든 요소를 순회할 때 사용할 수 있다.

#include <iostream>

int main() {
    int arr[] = {1, 2, 3, 4, 5};

    // 배열의 각 요소를 출력
    for (int num : arr) {
        std::cout << num << " ";
    }

    return 0;
}
#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};

    // 벡터의 각 요소를 출력
    for (int num : vec) {
        std::cout << num << " ";
    }
    
    return 0;
}

 

 

장점

인덱스를 직접 다루지 않기 때문에, 배열 범위를 벗어나는 오류(out of index)를 방지할 수 있다.

 

 

주의사항

1. 범위 기반 for 루프는 컨테이너의 각 요소를 읽기만 할 수 있다. 따라서 요소를 수정하려면 반드시 레퍼런스로 선언해야한다.

for (int& num : arr) {
        // 작업
}

 

2. 모든 STL 컨테이너와 사용자 정의 컨테이너에서 사용할 수 있다.

'C&C++' 카테고리의 다른 글

[C++11] constexpr  (0) 2024.06.23
[C++11] nullptr  (0) 2024.06.23
[C++11] std::array  (0) 2024.06.23
[C++11] auto  (0) 2024.06.23
[C++11] 중괄호 초기화 리스트 (initializer list)  (0) 2024.06.23