[C++] C++ STL map 기본 사용법과 예제
C++에서 map 사용법을 간단하게 알아보자
환경 및 선수조건
- C++
맵 기본 함수
기본형태
map<key,value>
: key와 value를 pair 형태로 선언합니다.
iterator(반복자)
begin()
: beginning iterator를 반환end()
: end iterator를 반환
추가 및 삭제
insert( make_pair(key,value) )
: 맵에 원소를pair
형태로 추가erase(key)
: 맵에서 key(키값)에 해당하는 원소 삭제clear()
: 맵의 원소들 모두 삭제
조회
find(key)
: key(키값)에 해당하는 iterator를 반환count(key)
: key(키값)에 해당하는 원소들(value들)의 개수를 반환
기타
empty()
: 맵이 비어있으면 true 아니면 false를 반환size()
: 맵 원소들의 수를 반환
구현 코드
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main(){
// map
// <string, int> => <key, value>
map< string, int > m;
// insert(key,value)
m.insert(make_pair("a", 1));
m.insert(make_pair("b", 2));
m.insert(make_pair("c", 3));
m.insert(make_pair("d", 4));
m.insert(make_pair("e", 5));
m["f"] = 6; // also possible
// erase(key)
m.erase("d");
m.erase("e");
m.erase(m.find("f")); // also possible
// empty(), size()
if(!m.empty()) cout << "m size: " << m.size() << '\n';
// find(key)
cout << "a: " << m.find("a")->second << '\n';
cout << "b: " << m.find("b")->second << '\n';
// count(key)
cout << "a count: " << m.count("a") << '\n';
cout << "b count: " << m.count("b") << '\n';
// begin(), end()
cout << "traverse" << '\n';
// map< string, int >::iterator it; also possible
for(auto it = m.begin(); it != m.end(); it++){
cout << "key: " << it->first << " " << "value: " << it->second << '\n';
}
return 0;
}