본문 바로가기
Language/c++

[C++] STL map 사용법

by 모너아링 2023. 2. 3.

map은 key와 value 값으로 이루어져 있는 container 입니다.

 

헤더파일

#include <map>

기본 형태

map <key 자료형, value 자료형> 이름;

멤버 함수

① 데이터 삽입

map.insert({data1, data2})
map <int, string> m;

m.insert({ 1, "apple" });
m.insert({ 2, "banana" });

② 데이터 검색

map.find(data1) ☞ 이터레이터를 반환 
map[data1] ☞ value를 반환
// 1이 존재하지 않을 경우 m의 마지막을 가리키는 이터레이터 반환
if (m.find(1) != m.end()) {
    cout << "1 있음" << endl;
}
else {
    cout << "1 없음" << endl;
}
// '1 있음' 출력

cout << m[1] << endl;
// 'apple' 출력

 


③ 데이터 탐색 (반복문 이용)

for (auto iter = m.begin(); iter != m.end(); iter++) {
    cout << iter->first << " " << iter->second << endl;
}
cout << endl;

for (auto iter : m) {
    cout << iter.first << " " << iter.second << endl;
}

// 둘 모두
// 1 apple
// 2 banana
// 출력

 


④ 데이터 크기 확인

map.size() ☞ map의 크기 반환
cout << m.size() << endl;
// 2 출력

 


⑤ 데이터 삭제

map.erase() ☞ 범위 설정 후 삭제
map.clear() ☞ 데이터 전체 삭제
//선택 삭제
m.erase(1); // 1 apple 삭제

//전체 삭제
m.erase(m.begin(), m.end());
m.clear();

'Language > c++' 카테고리의 다른 글

[C++] 스트림과 파일 입출력  (0) 2023.03.02
[C++] 소수점  (0) 2022.11.08
[C++] 범위 기반 for문  (0) 2022.11.08