반응형

C++11 이상의 표준에서는 범위 기반 for 루프를 사용할 수 있습니다. 이 루프는 컨테이너의 각 요소를 간편하게 순회할 수 있도록 도와주는 구문입니다.

범위 기반 for 루프의 기본 구조는 다음과 같습니다:

for (변수의 형식 변수명 : 컨테이너) {
    // 반복 실행할 코드
}



여기서 `컨테이너`는 배열, 벡터, 리스트 등의 반복 가능한 컨테이너 타입이 될 수 있습니다.

 

예를 들어, 배열, 벡터, 리스트를 범위 기반 for 루프로 순회하는 간단한 예제를 보여드리겠습니다.

1. 배열(Array):

#include <iostream>

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

    for (int element : arr) {
        std::cout << element << ' ';
    }

    return 0;
}


이 코드는 배열 `arr`의 각 요소를 출력합니다. 출력 결과는 `1 2 3 4 5`가 됩니다.


2. 벡터(Vector):

#include <iostream>
#include <vector>

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

    for (int element : vec) {
        std::cout << element << ' ';
    }

    return 0;
}


이 코드는 벡터 `vec`의 각 요소를 출력합니다. 출력 결과도 `1 2 3 4 5`가 됩니다.


3. 리스트(List):

#include <iostream>
#include <list>

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

    for (int element : myList) {
        std::cout << element << ' ';
    }

    return 0;
}


이 코드는 리스트 `myList`의 각 요소를 출력합니다. 출력 결과 역시 `1 2 3 4 5`가 됩니다.

이렇게 범위 기반 for 루프는 다양한 종류의 반복 가능한 컨테이너에 대해 일관된 방식으로 사용할 수 있습니다.

더욱 쉬운 이해

간단한 형태를 예제로 더 말씀드리 자면

for (int idx : alphabet_indices) {
    cout << idx << ' ';
}


- `int idx`는 배열 `alphabet_indices`의 각 요소를 담을 변수입니다.
- `: alphabet_indices`는 순회하고자 하는 배열 또는 컨테이너입니다.
- 루프 내부의 코드(`cout << idx << ' ';`)는 각 요소에 대해 실행됩니다.

따라서 이 코드는 `alphabet_indices` 배열의 각 요소를 `idx`에 대입하고 출력하는 역할을 합니다. 이 구문을 사용하면 반복 변수의 선언과 배열 인덱스에 대한 접근을 더 간결하게 작성할 수 있습니다.

반응형

+ Recent posts