Namensräume
Varianten
Aktionen

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

Von cppreference.com
 
 
 
 
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 zugeordneten Wert des Elements mit dem angegebenen Schlüssel zurück. Wenn kein solches Element existiert, wird eine Ausnahme vom Typ std::out_of_range ausgelöst.

1,2) Der Schlüssel ist äquivalent zu key.
3,4) Der Schlüssel ist *äquivalent* zu dem Wert x. Die Referenz auf den zugeordneten Wert wird erhalten, als ob durch den Ausdruck this->find(x)->second.
Der Ausdruck this->find(x) muss wohlgeformt sein und ein wohldefiniertes Verhalten haben, andernfalls ist das Verhalten undefiniert.
Diese Überladungen nehmen an der Überladungsauflösung nur teil, wenn Hash::is_transparent und KeyEqual::is_transparent gültig sind und jeweils einen Typ bezeichnen. Dies setzt voraus, dass ein solches Hash sowohl mit den Typen K als auch Key aufrufbar ist und dass KeyEqual transparent ist, was zusammen die Aufrufbarkeit dieser Funktion ermöglicht, ohne eine Instanz von Key zu konstruieren.

Inhalt

[edit] Parameter

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

[edit] Rückgabewert

Eine Referenz auf den zugeordneten Wert des angeforderten Elements.

[edit] Ausnahmen

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

[edit] Komplexität

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

Anmerkungen

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

[edit] Beispiel

[edit] Siehe auch

greift auf ein Element zu oder fügt es ein
(public member function) [edit]
sucht ein Element mit einem bestimmten Schlüssel
(public member function) [edit]