본문 바로가기
프로그래밍/STL

iterator - 반복자

by 리뷰하는 (게임)프로그래머_리프TV 2010. 4. 8.



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