본문 바로가기
Develop/C++

[C ++] 범위 기반 for문

by J-rain 2023. 2. 2.

보통 배열 자료구조에 접근할 때 for문을 자주 사용하는데, 이는 배열의 요소가 선언할 때 확정되기 때문이다.

하지만 만일 배열 요소의 개수를 변경하게 된다면? 당연히 for문도 수정해야하는 번거러움이 생긴다.

이를 해결하기위해 범위 기반 for문을 사용하면 수정할 필요성이 사라진다.


for(auto 요소변수 : 배열이름)
    반복 구문;

 

 

#include<iostream>
using namespace std;

int main(int argc, char *argv[])
{
int arr[5] = {10, 20, 30, 40, 50};
  
  // 일반적인 반복문
  for(int i = 0; i < 5; ++i)
    cout << arr[i] << ' ';
    
  cout << endl;
  
  // 범위 기반 반복문
  // 각 요소의 값을 n에 복사
  for(auto n : arr)
    cout << n << ' ';
  
  cout << endl;
  
  //n은 각 요소에 대한 참조
  for(auto &n : arr)
    cout << n << ' ';
 
 cout << endl;
 
 return 0;
 }

실행결과

9번행과 16번 행은 같은 의미이다. (값을 읽기만 했을 뿐 쓰지는 않았기 때문에)

만일 배열 요소의 개수가 5개에서 10개로 변경된다면  9번행의 조건식은 반드시 수정해야한다. 하지만 16번행은 그럴필요가 없다. 

즉, 코드를 잘못 입력해서 오류가 발생할 가능성이 대폭 줄어든다.

 

'Develop > C++' 카테고리의 다른 글

[C ++] 식별자 검색 순서  (0) 2023.02.02
[C ++] 템플릿(Template)  (1) 2023.02.02
[C ++] 다중 정의 (Overloading)  (0) 2023.02.02
[C ++] new와 delete연산자  (0) 2023.02.02
[C ++] auto  (0) 2023.02.02

댓글