multimap_emplace_hint
multimap_emplace_hint (std::multimap::emplace_hint — 힌트 제자리 삽입)
std::multimap에 새 원소를 제자리 구성해 삽입하되, 힌트 위치 hint 바로 앞에 최대한 가깝게 넣는 멤버 함수예요. 힌트를 잘 주면 삽입 위치 탐색 비용을 줄일 수 있어요.
출처: cppreference
본문
시그니처는 다음과 같아요.
template< class... Args >
iterator emplace_hint( const_iterator hint, Args&&... args ); // (since C++11)
새 원소를 hint 바로 앞의 위치에 최대한 가깝게 컨테이너에 삽입해요. 원소 타입(value_type, 즉 std::pair<const Key, T>)의 생성자는 함수에 전달된 것과 똑같은 인자로, std::forward<Args>(args)...로 전달해 호출돼요. 이터레이터나 참조는 무효화되지 않아요.
매개변수
hint: 새 원소가 삽입될 위치 바로 앞을 가리키는 이터레이터args: 원소의 생성자에 전달할 인자들.
반환값
삽입된 원소를 가리키는 이터레이터.
복잡도
보통 삽입이라면 로그(logarithmic)이지만, 힌트가 삽입 위치 바로 직전을 가리키면 분할 상환 상수(amortized constant)예요.