2. 범위기반 for문

C++11은 범위기반 for문을 전격적으로 도입, Java나 C#같은 언어에서는 이미 제공되던 것.

  • for 루프가 간단해짐
  • 루트의 순회값(i)의 초기값을 정해줄 필요가 없다.
  • 배열의 길이를 지정해주지 않아도 된다.
  • 언제까지 순회해야 할지 지정할 필요가 없다.
int arr[5] = {0, 1, 2, 3, 4};
for(int i: arr) {
    std::cout<<i<<std::endl;
}
//C++03
std::vector<int>::const_iterator it;
for(it = v.begin(); it != v.end(); ++it) {
    std::cout << *it << std::endl;
}

// C++11
for(auto i: v) {
    std::cout << i <<std::endl;
}