Thinking Different




for

일반 표준 for loop 문법


for each

VC++ 에서만 사용 가능한 전용 문법


range based for

C++11 부터 도입되어 사용되며, STL 컨테이너와의 결합을 지원



사용 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "stdafx.h"
#include <map>
#include <array>
 
int _tmain(int argc, _TCHAR* argv[])
{
    // 1. Array Example
    array<int, 5> data = { 1, 2, 3, 4, 5 };
 
    // for
    for (int i = 0; i < data.size(); i++)
        cout << data[i] << endl;
 
    // VC++ for each
    for each (auto var in data)
        cout << var << endl;
 
    // range based for
    for (auto i : data)
        cout << i << endl;
 
    //------------------------------------------------
 
    // 2. map Example
    map<int, string> mData;
    mData[0] = "ABC";
    mData[1] = "XYZ";
    mData[2] = "KOR";
 
    // for iterator
    for (auto it = mData.begin(); it != mData.end(); it++)
        cout << it->first << " : " << it->second << endl;
 
    // VC++ for each
    for each (auto var in mData)
        cout << var.first << " : " << var.second << endl;
 
    // range based for
    for (auto i : mData)
        cout << i.first << " : " << i.second << endl;
        
    return 0;
}
 



결과