프로그래밍/C++
[C++] Map 컨테이너 기본 사용법 및 예제
준코딩
2020. 5. 8. 22:34
사용 라이브러리
· <map>
기본함수
선언문
· map<key, value> 변수명
추가 및 삭제
· insert( make_pair(key, value) ) : pair 의 형태로 원소를 저장합니다.
· erase(key) : 해당 key 값에 해당하는 원소를 삭제합니다.
· clear() : 모든 원소를 삭제합니다.
조회
· find(key) : 해당 key 값의 Iterator 값을 반환합니다.
· count(key) : 해당 key 값의 원소의 갯수를 반환합니다.
기타 함수
· empty() : 비어있는 경우 1을 , 그렇지 않은 경우 0을 반환
· size() : 원소의 수를 반환
예제 코드
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
/////////////// 선언부 //////////////
map< string, int > m;
//// 원소를 추가하는 다양한 방법 ////
m.insert(make_pair("a", 1));
m.insert(make_pair("b", 2));
m.insert({ "c",3 }); // make_pair -> {}
m["d"] = 4; // 벡터처럼 접근하는 방법
// 삭제
m.erase("d");
m.erase("b");
//////////// 조회 //////////////////
if (!m.empty()) cout << "m size : " << m.size() << '\n';
// find 는 iter 값을 반환한다.
// 원소는 pair의 형태이다.
// 따라서 first 와 second 의 접근자를 사용한다.
cout << "a : " << m.find("a")->second << '\n';
// count 는 원소의 갯수를 반환한다.
// 보통 해당 key 값의 존재여부를
// count 가 0 인지 아닌지로 판단한다.
cout << "a count : " << m.count("a") << '\n';
// 순회
for (auto iter = m.begin(); iter != m.end(); iter++) {
cout << "key : " << iter->first << " " << "value : " << iter->second << '\n';
}
return 0;
}