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

+ Recent posts