std::unordered_map<Key,T,Hash,KeyEqual,Allocator>:: at
From cppreference.net
<
cpp
|
container
|
unordered map
|
T
&
at
(
const
Key
&
key
)
;
|
(1) | (C++11부터) |
|
const
T
&
at
(
const
Key
&
key
)
const
;
|
(2) | (C++11부터) |
|
template
<
class
K
>
T & at ( const K & x ) ; |
(3) | (C++26부터) |
|
template
<
class
K
>
const T & at ( const K & x ) const ; |
(4) | (C++26부터) |
지정된 키를 가진 요소의 매핑된 값에 대한 참조를 반환합니다. 해당 요소가 존재하지 않을 경우, std::out_of_range 타입의 예외가 발생합니다.
1,2)
키는
key
와 동등합니다.
3,4)
키가 값
x
와
동등
하게 비교됩니다. 매핑된 값에 대한 참조는
this
-
>
find
(
x
)
-
>
second
표현식으로 얻은 것과 같습니다.
표현식
this
-
>
find
(
x
)
는 올바른 형태를 가져야 하며 명확하게 정의된 동작을 가져야 합니다. 그렇지 않으면 동작은 정의되지 않습니다.
이 오버로드들은
Hash
와
KeyEqual
가 모두
투명(transparent)
일 때만 오버로드 해결에 참여합니다. 이는 해당
Hash
가
K
와
Key
타입 모두에 대해 호출 가능하고,
KeyEqual
가 투명하다는 것을 가정하며, 이를 통해
Key
의 인스턴스를 생성하지 않고도 이 함수를 호출할 수 있습니다.
목차 |
매개변수
| key | - | 검색할 요소의 키 |
| x | - | 키와 투명하게 비교될 수 있는 임의 타입의 값 |
반환값
요청된 요소의 매핑된 값에 대한 참조입니다.
예외
복잡도
평균 케이스: 상수, 최악의 케이스: 크기에 선형적.
참고 사항
| Feature-test macro | Value | Std | Feature |
|---|---|---|---|
__cpp_lib_associative_heterogeneous_insertion
|
202311L
|
(C++26) | 정렬된 및 비정렬 연관 컨테이너에 남아있는 멤버 함수들에 대한 이종(heterogeneous) 오버로드. ( 3,4 ) |
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
참고 항목
|
지정된 요소에 접근하거나 삽입
(public member function) |
|
|
특정 키를 가진 요소를 찾음
(public member function) |