unordered_map_find

unordered_map_find (std::unordered_map::find — 키로 원소 찾기)

std::unordered_map에서 특정 키와 동등한 원소를 찾아 이터레이터로 반환하는 멤버 함수예요.

출처: cppreference

본문

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

iterator find( const Key& key );                                // (1)
const_iterator find( const Key& key ) const;                    // (2)
template< class K >
iterator find( const K& x );                                    // (3) (since C++20)
template< class K >
const_iterator find( const K& x ) const;                        // (4) (since C++20)

(1,2) key와 동등한 키를 가진 원소를 찾아요.

(3,4) x와 동등한 키를 가진 원소를 찾아요. Hash::is_transparentKeyEqual::is_transparent가 유효할 때만 참여해요.

매개변수

  • key: 찾을 원소의 키 값
  • x: 키와 투명하게 비교할 수 있는 어떤 타입의 값

반환값

요청한 원소를 가리키는 이터레이터. 그런 원소가 없으면 past-the-end 이터레이터를 반환해요.

복잡도

평균 상수(amortized constant)예요.

예제

#include <iostream>
#include <unordered_map>
int main()
{
    std::unordered_map<int, char> m{{1, 'a'}, {2, 'b'}};
    auto it = m.find(2);
    if (it != m.end())
        std::cout << it->first << it->second << '\n';   // 2b
}

더 알아보기 (Learn more)

cppreference