본문 바로가기
야미스터디/Etc

[C++ STL] map iterator(반복자)

by 의정부핵꿀밤 2021. 12. 24.
728x90

map의 원소는 pair 객체로 저장되며, pari 객체의 first 멤버 변수는 key로 second 멤버 변수는 value이다

 

예제 코드로 살펴보자

#include <iostream>
#include <map>
using namespace std;
map<int, int> m;	// map 선언
int main() {

	m[10] = 4;
	m[8] = 9;
	m[100]++;

	map<int, int>::iterator iter;	// iterator 선언

	for (iter = m.begin(); iter != m.end(); iter++) {
		printf("주소값: %d ", iter);
		printf("key: %d ", *iter);
		printf("key: %d value: %d\n", iter->first, iter->second);
	}

	map<int, int>::iterator iter2 = m.begin();	// iterator 선언과 동시에 초기화

	for (iter2; iter2 != m.end(); iter2++)
		printf("%d %d %d\n", iter2, iter2->first, iter2->second);

	return 0;
}

위처럼 iterator를 사용할 수도 있다

 

 

C++ 11부터는 auto 자료형을 지원해서 아래처럼 따로 선언없이 간단하게 사용할 수 있다

for(auto it = m.begin(); it != m.end(); it++){
	printf("%d", *it);
}

 

728x90

댓글