emplace()
- 원소를 삽입할 때 중복된 key 값의 원소가 있더라도 새로운 원소를 추가한다.
- 이미 있는 key 값의 원소를 갱신하고 싶지 않고 새로 추가하고 싶을 때 유용하다.
- 원소를 생성자에 매개변수로 전달하는 방식으로 추가한다. 따라서 std::map 내부에서 직접 생성하게 된다.
- 임시 객체 생성과 복사를 최소화하여 효율적인 원소 추가를 지원한다.
insert()
- 원소를 삽입할 때 이미 중복된 key를 가진 원소가 있다면 삽입되지 않는다.
- 이미 있는 key 값을 사용하고는 싶지만 갱신하고 싶지 않을 때 유용하다.
- std::make_pair이나 value_type으로 값을 생성하여 insert를 해야 한다.
'개인 공부 > 자료구조' 카테고리의 다른 글
map, unordered_map (0) | 2022.07.19 |
---|---|
std::map (0) | 2022.05.26 |
std::priority_queue (0) | 2022.05.19 |
std::queue (0) | 2022.05.19 |
STL iterator (0) | 2021.06.10 |