개발/C++

[C++] iterator

hojak99 2016. 12. 13. 10:13

[출처 : cplusplus.com]

AAn iterator is any object that, pointing to some element in a range of elements (such as an array or a container), has the ability to iterate through the elements of that range using a set of operators (with at least the increment (++) and dereference (*) operators).


The most obvious form of iterator is a pointer: A pointer can point to elements in an array, and can iterate through them using the increment operator (++). But other kinds of iterators are possible. For example, each container type (such as a list) has a specific iterator type designed to iterate through its elements.





iterator(반복자)는 배열이나 컨테이너와 같은 요소 범위의 일부 요소를 가리키는 연산자로 연산자를 사용하여 해당 범위의 요소를 반복할 수 있다. 


iterator의 가장 명백한 형태는 포인터인데 포인터는 배열의 요소를 가리킬 수 있고 증가 연산자(++)를 사용하여 반복자도 가능하다. 예를 들어, 각 컨테이너 유형은 해당 요소를 반복하도록 설계된 특정 반복자 유형을 가진다.




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
#include <iostream>
#include <vector>
 
int main() 
{
    std::vector<int> v;
    
    v.push_back(1);
    v.push_back(3);
    v.push_back(5);
    v.push_back(7);
 
    std::vector<int>::iterator iterator = v.begin();
 
    std::cout << iterator[2<<std::endl;
    //출력값 : 5
 
    std::cout << *iterator << std::endl;
    //출력값 : 1
 
    std::cout << *++iterator << std::endl;
    //출력값 : 3
 
    std::cout << *iterator + 2 << std::endl;
    //출력값 : 5
 
    std::cout << std::endl;
    for (iterator = v.begin(); iterator != v.end(); iterator++) {
        std::cout << *iterator << "  ";
    }
    //출력값 : 1 3 5 7
        
    return 0;
}
 
 
 
cs






아주 좋다.

반응형