Map 기본 형태

map<key, value> : 키와 값을 쌍 형태로 선언합니다.

반복자 (iteractor)

begin() : 시작 반복자를 반환

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;

}

'DevLog > C & C++' 카테고리의 다른 글

C++ 포인터 개념  (0) 2021.02.04
C++ 구조체(Struct)  (0) 2021.01.25
C++ 오버로딩과 오버라이딩  (0) 2021.01.24
C++ 가비지 컬렉션, 참조 카운트  (0) 2021.01.24
C++ 스마트포인터  (0) 2021.01.23
복사했습니다!