map은 Key value 관계로 데이터를 저장한다.
set과 마찬가지로 Key 값이 중복되면 저장이 잘 안된다.
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
#include <iostream>
#include <map>
#include <string>
int main()
{
std::map<int, int> numPairs;
numPairs.emplace(2, 102);
numPairs.emplace(3, 103);
numPairs.emplace(4, 104);
numPairs.emplace(5, 105);
// 1이 중복이라 추가 안 됨;
numPairs.emplace(1, 200);
numPairs.emplace(1, 1000);
// Value overwriting
numPairs[1] = 300;
std::cout << numPairs[6]; // 키값이 없으면 default 값 배정함
for (const auto& numPair : numPairs)
{
std::cout << numPair.first << " "
<< numPair.second << std::endl;
}
// int, string도 가능
std::map<int, std::string> nameList;
nameList.emplace(1, "woonggon");
nameList.emplace(2, "hyosick");
nameList.emplace(3, "emperor");
for (const auto& name : nameList)
{
std::cout << name.first << " "
<< name.second << std::endl;
}
// comparison operatior 지정
std::map<std::string, int> reverse_nameList;
reverse_nameList.emplace("woonggon",1);
reverse_nameList.emplace("hyosick",2);
reverse_nameList.emplace("emperor",3);
for (const auto& name : reverse_nameList)
{
std::cout << name.first << " "
<< name.second << std::endl;
}
return 0;
}
|
'C' 카테고리의 다른 글
c++ set,map,unorded_set,unordered_map 정리 (0) | 2021.06.27 |
---|---|
c++ unordered_set 사용 기록 (0) | 2021.06.27 |
c++ set, multiset, 커스텀 비교 함수, 커스텀 클래스 (0) | 2021.06.27 |
c++ stl deque 설명, 성능상 이슈 (0) | 2021.06.27 |
c++ vector, array 다차원 배열, 2d array를 1d처럼, 성능 주의점 (0) | 2021.06.27 |