본문 바로가기

C++

[C++] 범위 기반 for문(range based for statement)

범위 기반 for문은 C++11에서 추가되었는데, 배열 및 컨테이너에서 사용가능하며 

기본 문법은 for ( Type elem : Container ) 이다.

int a[5] = {1,2,3,4,5};
for( int i : a ){
	cout << i;
}

위 코드는 a를 돌면서 a[0]부터 a[4]까지 값을 출력한다.

위 for문에서 a 배열의 값을 복사해서 사용하기 때문에 값을 얻어올 수 있지만 변경되지는 않는다.

 

int a[5] = {1,2,3,4,5};
for( int i& : a ){
	i = 10;
	cout << i;
}

위 코드 처럼 i를 참조형으로 선언할 시 a 배열의 값을 변경할 수 있으며

const int i&로 선언하면 값을 변경할 수 없게 할 수 있다.