살아가는 이야기

C++11: 자료구조에 대한 for 루프 본문

컴퓨터, 풀어그림

C++11: 자료구조에 대한 for 루프

우균 2013. 10. 17. 21:52

C++11에 자료구조에 대한 for 루프가 추가되었다[C++11에서는 구간 for 문(range-for statement)이라고 부름]. 예전에 스크립트 언어에 있던 것이 Java 1.5에 추가되더니만, 급기야 C++11까지 전파되었다. 사용하기 매우 편하니 알아두는 것이 좋겠다. 샘플코드는 다음과 같다.

#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
using namespace std;
int main() {
    int ns[] = {1, 3, 5, 7, 9}, size = sizeof ns / sizeof *ns;
    ostream_iterator<int> outport(cout, " ");
    copy(ns, ns+size, outport); cout << endl;
    for (int &n : ns) {
        n *= n;
    }
    copy(ns, ns+size, outport); cout << endl;
}

위 코드는 1부터 10까지 홀수의 제곱을 모두 출력하는 프로그램이다.


Comments