[출처 : 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 |
아주 좋다.