Namespaces
Variants

std::unordered_map<Key,T,Hash,KeyEqual,Allocator>:: at

From cppreference.net

T & at ( const Key & key ) ;
(1) (seit C++11)
const T & at ( const Key & key ) const ;
(2) (seit C++11)
template < class K >
T & at ( const K & x ) ;
(3) (seit C++26)
template < class K >
const T & at ( const K & x ) const ;
(4) (seit C++26)

Gibt eine Referenz auf den abgebildeten Wert des Elements mit dem angegebenen Schlüssel zurück. Falls kein solches Element existiert, wird eine Ausnahme vom Typ std::out_of_range geworfen.

1,2) Der Schlüssel entspricht key .
3,4) Der Schlüssel vergleicht sich äquivalent zum Wert x . Der Verweis auf den zugeordneten Wert wird erhalten wie durch den Ausdruck this - > find ( x ) - > second .
Der Ausdruck this - > find ( x ) muss wohlgeformt sein und ein wohldefiniertes Verhalten aufweisen, andernfalls ist das Verhalten undefiniert.
Diese Überladungen nehmen nur dann an der Überladungsauflösung teil, wenn Hash und KeyEqual beide transparent sind. Dies setzt voraus, dass ein solcher Hash sowohl mit dem K - als auch mit dem Key -Typ aufrufbar ist und dass der KeyEqual transparent ist, was zusammen den Aufruf dieser Funktion ermöglicht, ohne eine Instanz von Key zu konstruieren.

Inhaltsverzeichnis

Parameter

key - der Schlüssel des zu findenden Elements
x - ein Wert beliebigen Typs, der transparent mit einem Schlüssel verglichen werden kann

Rückgabewert

Eine Referenz auf den abgebildeten Wert des angeforderten Elements.

Ausnahmen

1,2) std::out_of_range wenn der Container kein Element mit dem angegebenen key besitzt.
3,4) std::out_of_range falls der Container das angegebene Element nicht enthält, d.h. wenn find ( x ) == end ( ) gleich true ist.

Komplexität

Durchschnittlicher Fall: konstant, schlechtester Fall: linear in der Größe.

Hinweise

Feature-Test Makro Wert Std Funktion
__cpp_lib_associative_heterogeneous_insertion 202311L (C++26) Heterogene Überladungen für die verbleibenden Memberfunktionen in geordneten und ungeordneten assoziativen Containern . ( 3,4 )

Beispiel

Siehe auch

greift auf ein bestimmtes Element zu oder fügt es ein
(öffentliche Elementfunktion)
findet Element mit spezifischem Schlüssel
(öffentliche Elementfunktion)