flat_map::at

flat_map::at (키로 값 접근 — 예외 안전)

지정한 키에 대응하는 매핑 값에 대한 참조를 반환하되, 키가 없으면 예외를 던지는 멤버 함수예요. <flat_map> 헤더, C++23부터.

출처: cppreference

본문

at은 지정한 키의 매핑 값에 대한 참조를 돌려줘요. 해당 요소가 없으면 std::out_of_range 예외를 던져요.

T& at( const Key& key );                     // (1)
const T& at( const Key& key ) const;         // (2)

template< class K >
T& at( const K& x );                         // (3)
template< class K >
const T& at( const K& x ) const;             // (4)
  • 1,2) key와 동등한 키를 찾아요.
  • 3,4) Compare가 투명(transparent) 비교를 지원할 때, x와 동등한 키를 찾아요.

operator[]가 키가 없으면 삽입하는 반면, at은 키가 없으면 예외를 던져요. 그래서 "읽기 전용·안전한 조회"에 적합해요.

std::flat_map<std::string, int> m{{"a", 1}, {"b", 2}};
int v = m.at("a");      // 1
// m.at("z");           // std::out_of_range 예외

확실히 존재하는 키만 읽거나, 없을 가능성을 예외로 처리하고 싶을 때 써요.

더 알아보기 (Learn more)

cppreference