[C++ STL] '연관 컨테이너 - map'
'map 컨테이너'는 연관 컨테이너 중 가장 많이 사용되는 컨테이너입니다. 'map 컨테이너'는 (key, value) 쌍을 저장합니다. 이때, (key, value) 쌍을 저장하기 위해 'pair 객체'를 사용합니다. 'set 컨테이너'와 마찬가지로 key 값은 중복될 수 없습니다. 중복을 허용하고 싶다면 'multimap 컨테이너'를 사용해야 합니다. 모든 연관 컨테이너는 동일한 인터페이스를 제공하기 때문에 앞의 'set 컨테이너'에서 정리한 인터페이스를 참고바랍니다. 추가로, 'map 컨테이너'는 [] 연산자를 제공하기 때문에 간단히 원소를 저장하고 참조할 수 있습니다. 다음은 'map 컨테이너'의 구조입니다.
'map 컨테이너'의 insert() 멤버 함수를 통한 원소 삽입 예제를 살펴보겠습니다.
#include <iostream>
#include <map>
using namespace std;
void main() {
map<int, int> m; // (key, value) 쌍이 각각 (int, int) 타입을 가지도록 생성합니다.
m.insert(pair<int, int>(5, 100)); // 임시 pair 객체를 매개변수로 넘깁니다.
m.insert(pair<int, int>(3, 100));
m.insert(pair<int, int>(8, 30));
m.insert(pair<int, int>(4, 40));
m.insert(pair<int, int>(1, 70));
m.insert(pair<int, int>(7, 100));
pair<int, int> pr(9, 50);
m.insert(pr); // 물론, pair 객체를 직접 생성한 후 매개변수로 넘겨도 상관없습니다.
for (auto iter = m.begin(); iter != m.end(); ++iter) {
// 값에 접근하는 방법은 2가지가 있습니다.
cout << "(" << iter->first << ", " << iter->second << endl;
cout << "(" << (*iter).first << ", " << (*iter).second << endl;
}
}
'Programming > C C++' 카테고리의 다른 글
[C++ STL] '정렬 알고리즘(sort algorithm)' (0) | 2019.06.03 |
---|---|
[C++ STL] '탐색 알고리즘(search algorithm)' (0) | 2019.05.29 |
[C++ STL] '연관 컨테이너 - set' (0) | 2019.05.27 |
[C++ STL] '시퀀스 컨테이너 - list' (0) | 2019.05.27 |
[C++ STL] '시퀀스 컨테이너 - vector' (0) | 2019.05.25 |
댓글
이 글 공유하기
다른 글
-
[C++ STL] '정렬 알고리즘(sort algorithm)'
[C++ STL] '정렬 알고리즘(sort algorithm)'
2019.06.03 -
[C++ STL] '탐색 알고리즘(search algorithm)'
[C++ STL] '탐색 알고리즘(search algorithm)'
2019.05.29 -
[C++ STL] '연관 컨테이너 - set'
[C++ STL] '연관 컨테이너 - set'
2019.05.27 -
[C++ STL] '시퀀스 컨테이너 - list'
[C++ STL] '시퀀스 컨테이너 - list'
2019.05.27