set는 key와 value가 일치하는 map이다 라고 이해하면 된다.

set는 가끔 활용한다. (예: 찾은 몬스터 ID의 목록을 가져와야 하는데 그 목록중에 찾고싶은 몬스터가 있는지 빠르게 찾아야 할 때, 이미 찾은 몬스터인지 아닌지를 확인한다던지 하는 경우)

 

multimap과 multiset은 잘 활용하지 않음.

 

multimap은 [] 연산자를 지원하지 않는다.

key값으로 erase를 하는 경우 key의 내용이 다 날아간다.

equal_range: key값에 해당하는 iterator 2개를 pair로 반환해준다. (key의 begin, end)

lower_bound: key값의 begin을 반환해준다.

upper_bound: key값의 end를 반환해준다.

 

map과 set은 면접 질문으로 나오는 경우 보통 어떤 구조로 되어있는지 물어보기도 하지만 가끔 map과 multimap의 차이를 물어보는 경우도 있다.

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

[Modern C++] #1  (0) 2022.08.31
[STL] algorithm  (0) 2022.08.31
[STL] map  (0) 2022.08.31
[STL] deque  (0) 2022.08.31
[STL] list  (0) 2022.08.31

+ Recent posts