본문 바로가기

programmer/C++

[C++11] 범위 기반 for문

[C++11] 범위 기반 for 문



범위기반(Range-based) for 문은 C++11에서 새로 생긴 여러 문법들 중 하나입니다. 바로 예제를 살펴보겠습니다.

.


enter image description here


배열의 원소를 나열하는 일반적인 반복문입니다. 그런데 만약 a[7]을 a[10]으로 바꾸고 배열의 원소를 전부 출력하고자 한다면 반복문의 조건을 바꿔줘야 할 것 입니다. 이런 작업이 커다란 프로젝트에서 일어난다면 번거롭고 실수로 인해 overflow도 충분히 일어날 수 있는 상황이 될 수 있습니다.
범위 기반 for 문을 사용함으로써 이러한 상황을 예방할 수 있으며 생산성 또한 향상시킬 수 있습니다.


다음은 범위 기반 for 문의 예제입니다.


enter image description here



실행 결과입니다.


enter image description here


범위 기반 for문에서는 배열 요소 개수에 맞추어 자동으로 반복합니다. 그러므로 조건문이 따로 필요없고 배열 요소의 갯수가 변하더라도 for문의 조건문을 바꿀 필요가 없습니다.


하지만 바로 위의 예제의 경우 배열 a의 원소들의 값을 바꿀 수는 없습니다. 배열 원소의 값을 바꾸고 싶으면 다음 예제와 같이 참조자 선언을 해야합니다.


enter image description here


실행 결과입니다.


enter image description here


이렇게 범위 기반 for문을 사용해보았습니다. 앞으로 어떤 배열의 전체 원소에 접근할 때는 범위 기반 for문을 사용하는 것이 좋을 것 같습니다.



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

Visual Studio 2015 C++ 프로젝트 만들기  (1) 2016.02.10