unordered_map_emplace_hint

unordered_map_emplace_hint (std::unordered_map::emplace_hint — 힌트 제자리 삽입)

std::unordered_map에 새 원소를 제자리 구성해 삽입하는 멤버 함수예요. 힌트 hint를 참조로 삼아 해시 버킷 재계산을 피할 수 있어요.

출처: cppreference

본문

시그니처는 다음과 같아요.

template< class... Args >
iterator emplace_hint( const_iterator hint, Args&&... args );   // (since C++11)

새 원소를 hint가 가리키는 위치를 참조로 삼아 컨테이너에 삽입해요. hash_map이므로 힌트는 삽입 위치를 결정하지 않고, hint의 키 해시를 재사용해 버킷 계산을 최적화하는 데 쓰여요. 원소의 생성자는 함수에 전달된 것과 똑같은 인자로 호출돼요.

매개변수

  • hint: 해시 검색을 안내하는 힌트 이터레이터
  • args: 원소의 생성자에 전달할 인자들.

반환값

삽입된 원소를 가리키는 이터레이터. 이미 그 키가 있으면 기존 원소를 가리키는 이터레이터.

복잡도

평균 상수(amortized constant)예요.

더 알아보기 (Learn more)

cppreference