vector나 deque같이 [] 를 통해 직접 값을 참조 할 수 있는 경우엔 괜찮지만,
그렇지 않은 경우 list나, set, map같은 경우는
[]연산자를 사용 할 수가 없다.
그래서 존재하는것이 반복자,
STL의 컨테이너들을 가르키는 포인터라고 이해하면 편하다(그렇다고 포인터와 똑같지는 않다.)
iterator 예제
#include <iostream>
#include <list>
void main()
{
// 리스트 생성
std::list<char> coll;
// 값 삽입
for( char c='a'; c<='z'; ++c )
{
coll.push_back(c);
}
// iterator를 통해서 리스트를 이동한다.
std::list<char>::iterator pos;
// pos는 시작부터 끝까지 한칸씩 이동
for( pos = coll.begin(); pos != coll.end(); ++pos )
{
//toupper은 문자를 대문자로 변경하는 함수
*pos = toupper(*pos);
std::cout << *pos << ' ';
}
std::cout << std::endl;
}
이 처럼 사용이 가능하다.
앞으로 자주 보게 되기 때문에 특별한 설명은 하지 않겠음.
'프로그래밍 > STL' 카테고리의 다른 글
algorithm (0) | 2010.04.08 |
---|---|
연관 컨테이너 - Set, Map, multiSet, multiMap (0) | 2010.04.08 |
시퀀스 컨테이너 - vector, list, deque (0) | 2010.04.05 |
용어적 설명. (0) | 2010.04.05 |
2가지 변수를 저장하는 pair (0) | 2010.04.04 |