728x90
이 range based for는 Visual C++(VC)의 특화 기능인 'for each'문과 비슷하다.
당연히 STL에서도 사용이 가능하다. 그러므로 STL의 Iterator를 지원하는 컨테이너라면 'range based for'를 활용하여 편하게 사용하도록 하자.
for( auto i : arrNumberList )의 경우에는 i의 값을 for문 안에서는 변경할 수 있찌만, for 문을 나오면 arrNumberList의 요소에는 적용되지 않는다.
만약 요소의 값을 변경하고 싶다면 참조를 사용하면된다. for( auto& i : arrNumberList )
또한 for문에서 요소 값을 변경하지 못하도록 하려면 const를 사용하면 된다. for(auto const i : arrNumberList)
마지막으로 for문에서 데이터셋 요소에 접근할 때 임시 변수를 만드므로 이 비용을 줄이고 싶다면, 참조를 사용하는 게 좋다.
만약 요소 값을 변경하지 못하게 하고 싶다면 const 참조를 사용하면 된다. for(auto const &i : arrNumberList)
728x90
'Basic Programming > C++ 11' 카테고리의 다른 글
C++11 - nullptr (0) | 2016.02.26 |
---|---|
C++11 - enum (0) | 2016.02.26 |
C++11 - 람다(lambda) 함수 - 2 (0) | 2016.02.25 |
C++11 - 람다(lambda) 함수 - 1 (0) | 2015.12.08 |
C++11 - auto 키워드 (0) | 2015.12.08 |