13. c++ STL map
- map<key,value>로 key에 해당하는 value도 같이 저장하는 컨테이너 입니다.
- 중복된 key 저장은 안됩니다.
- find 메서드로 key를 찾고 []로 원소에 접근합니다.
- 만약 key가 없다면 []는 default 생성자를 호출하여 key를 자동으로 생성하여 원소를 추가하여 줍니다.
#include <iostream>
#include <algorithm>
#include <map>
using namespace std;
int main() {
///선언 및 초기화///
map<int, int> d1;
map<int, int> d2 = { {1,2},{3,4},{5,6} };
cout << "d1.size=" << d1.size() << '\n'; //0
cout << "d2.size=" << d2.size() << '\n'; //3
d1[10] = 20; //d1[key]=value
cout << "d1[10]=" << d1[10] << '\n'; //20
cout << "d2[1]=" << d2[1] << '\n'; //2
cout << "d2[2]=" << d2[2] << '\n'; //0
cout << "d2[3]=" << d2[3] << '\n'; //4
cout << "d2[4]=" << d2[4] << '\n'; //0
cout << "d2[5]=" << d2[5] << '\n'; //6
///[]연산 주의///
d1.clear();
d2.clear();
for (int i = 1; i <= 9; i += 2) {
d1[i] = i * i;
d2[i] = i * i;
}
cout << "d1.size=" << d1.size() << '\n'; //5
cout << "d2.size=" << d2.size() << '\n'; //5
for (int i = 1; i <= 10; i++)
if (d1[i]) cout << i << ' ';
cout << '\n';
for (int i = 1; i <= 10; i++)
if (d2.count(i)) cout << i << ' ';
cout << '\n';
cout << "d1.size=" << d1.size() << '\n'; //10 []연산으로 자동추가됨
cout << "d2.size=" << d2.size() << '\n'; //5
///for문 iterator///
map<int, int> d = { {1,2},{3,4},{5,6} };
for (auto it = d.begin(); it != d.end(); ++it)
cout << (it->first) << ' ' << (it->second) << '\n';
for (auto p : d)
cout << p.first << ' ' << p.second << '\n';
return 0;
}
reference
Author And Source
이 문제에 관하여(13. c++ STL map), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kth811/13.-c-STL-map저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)