인트로
안녕하세요. 오늘은 범위기반 for문에 대해서 알아보겠습니다. 범위기반 for문은 C++11에서 적용되었다고 합니다.
(ISO가 승인한 2011년 8월 12일에 승인한 C++ 프로그래밍 언어의 최신판)
기존의 복잡한 for문에서 문법이 확장되어 간결한 형태로 사용할 수 있습니다.
(구 버전) 기존의 형태
기존 for문은 아래와 같이 시작인덱스, 종료조건, 증감연산을 주어주어야했습니다.
1) 인덱스 기반 기존 접근형태
vector<int> v;
for (int i=0; i<v.size();i++){
// example : v[i].push_back(1);
}
2) iterator 사용한 기존형태
vector<int> v;
for (auto iter = v.begin(); iter != v.end(); iter++) {
cout << *iter << endl;
}
3) 기존 벡터 접근해서 값 변경하는 for문
vector<int> v;
for (auto iter = v.begin(); iter!= v.end(); iter++) {
*iter += 2020;
//code
}
(NEW 버전) 범위기반 for문 형태
범위기반 for문은 시작과 종료조건을 주어주지 않아도 알아서 배열의 값에 기반해 반복문을 돌립니다.
※ 범위 기반 for문에서는 배열의 요소의 값을 변경할 수 없습니다.
(그러나, reference를 이용하면 변경 가능하다고 합니다.)
기본 형태
for(데이터타입 element : 데이터리스트)
{
//code
}
범위 기반 for문에서 Vector배열의 값 접근
vector<int> v;
//벡터에 데이터 삽입
v.push_back(1);
v.push_back(2);
for (auto i : v) {
cout << i << endl;
}
이상으로 C++ 범위 기반 반복문에 대해 포스팅을 마치겠습니다.
감사합니다 :D
'BE > C++' 카테고리의 다른 글
[C++][STL] map 사용법 정리 (11) | 2020.04.05 |
---|---|
[C++][OpenCV] Opencv과 VisualStudio 연동하기 (0) | 2020.04.02 |
[C++][형변환] int에서 char*, char*에서 int로 변경하기 (0) | 2020.03.30 |
[C++][형변환] int to string, string to int / int to char, char to int (0) | 2020.03.30 |
[C++] Visual Studio 설치하기 (0) | 2020.03.24 |