반응형
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를 사용할 경우 매우 큰 배열을 사용할 때, 원소에 접근하지 못하는 경우가 생길 수 있다.
반응형
댓글