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 |