본문 바로가기
프로그래밍 언어/C,C++

C++ range-based for loop

by pagehit 2021. 6. 10.
반응형

C++ range-based for loop에 대해 알아본다.

#include <cstdio>

int main() {
    unsigned long maximum = 0;
    unsigned long values[] = { 10, 50, 20, 40, 0};
    for (unsigned long value : values) {
        if (value > maximum) maximum = value;
    }
    printf("The maximu value is %lu", maximum);

    return 0;
}

 

for loop을 이용한 코드는 아래와 같다.

#include <cstddef>
#include <cstdio>

int main() {
    unsigned long maximum = 0;
    unsigned long values[] = { 10, 50, 20, 40, 0};
    for (size_t i = 0; i < 5; i++) {
        if (value > maximum) maximum = value;
    }
    printf("The maximu value is %lu", maximum);

    return 0;
}

 

여기서 size_t를 사용한 이유는 size_t가 모든 객체의 최대 크기를 나타내는 것을 보장하기 때문이다. int형 변수 i를 사용할 경우 매우 큰 배열을 사용할 때, 원소에 접근하지 못하는 경우가 생길 수 있다.

반응형

댓글