1. map 기초

- key, value의 쌍 저장.

- key는 중복될 수 없다.

- 키 기준으로 binary search tree 로 자동 정렬한다.


insert

키는 중복으로 삽입할 수 없고 삽입의 결과 iterator를 반환한다.


operator[]


key 에 대응하는 값을 참조로 반환하고, 키가 없으면 새 요소를 삽입한다.


map<string, int> scoreMap;

int value = scoreMap["coco"]; 일 경우 예외가 발생하진 않으므로 안전하지 않다.


find

키를 기준으로 반복자를 검색한다. 못찾을 경우 end iterator를 반환한다.


swap

두 맵의 키와 값을 바꿔준다.


clear

전체 맵을 삭제한다.


erase

한 요소를 제거한다.


2. set 기초

map과 거의 같지만 key가 아니라 value 자체가 키가 됨으로 중복되지 않아야 한다.


3. map 활용

- 키값으로 클래스를 사용할 수 있지만 정렬을 해야함으로 operator< 연산자를 클래스에 만들어야 한다.

- 다른 사람이 만든 구조체나 클래스를 키로 사용할 경우 연산자를 재정의 할 수 없으므로 별도의 연자 구조체를 만들어야 한다.

struct Comparer

{

bool operator()(const className& left, const className& right) const

{

....

return ...

}

}

+ Recent posts