std::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>:: find
From cppreference.net
<
cpp
|
container
|
unordered multimap
|
iterator find
(
const
Key
&
key
)
;
|
(1) |
(seit C++11)
(constexpr seit C++26) |
|
const_iterator find
(
const
Key
&
key
)
const
;
|
(2) |
(seit C++11)
(constexpr seit C++26) |
|
template
<
class
K
>
iterator find ( const K & x ) ; |
(3) |
(seit C++20)
(constexpr seit C++26) |
|
template
<
class
K
>
const_iterator find ( const K & x ) const ; |
(4) |
(seit C++20)
(constexpr seit C++26) |
1,2)
Findet ein Element mit einem Schlüssel, der
key
entspricht. Wenn mehrere Elemente mit dem angeforderten Schlüssel im Container vorhanden sind, kann eines davon zurückgegeben werden.
3,4)
Findet ein Element mit einem Schlüssel, der äquivalent zu
x
vergleicht.
Diese Überladung nimmt nur dann an der Überladungsauflösung teil, wenn
Hash
und
KeyEqual
beide
transparent
sind. Dies setzt voraus, dass ein solcher
Hash
sowohl mit dem Typ
K
als auch mit dem Typ
Key
aufrufbar ist und dass
KeyEqual
transparent ist, was zusammen den Aufruf dieser Funktion ermöglicht, ohne eine Instanz von
Key
zu konstruieren.
Inhaltsverzeichnis |
Parameter
| key | - | Schlüsselwert des zu suchenden Elements |
| x | - | ein Wert beliebigen Typs, der transparent mit einem Schlüssel verglichen werden kann |
Rückgabewert
Ein Iterator zum angeforderten Element. Wenn kein solches Element gefunden wird, wird ein past-the-end (siehe end() ) Iterator zurückgegeben.
Komplexität
Konstant im Durchschnitt, im schlimmsten Fall linear in der Größe des Containers.
Hinweise
| Feature-Test Makro | Wert | Std | Funktion |
|---|---|---|---|
__cpp_lib_generic_unordered_lookup
|
201811L
|
(C++20) | Heterogener Vergleichslookup in ungeordneten assoziativen Containern ; Überladungen ( 3,4 ) |
Beispiel
Diesen Code ausführen
#include <iostream> #include <unordered_map> int main() { // Einfache Vergleichsdemo. std::unordered_multimap<int, char> example{{1, 'a'}, {2, 'b'}}; if (auto search = example.find(2); search != example.end()) std::cout << "Found " << search->first << ' ' << search->second << '\n'; else std::cout << "Not found\n"; }
Ausgabe:
Found 2 b
Siehe auch
|
gibt die Anzahl der Elemente zurück, die einem bestimmten Schlüssel entsprechen
(öffentliche Elementfunktion) |
|
|
gibt den Bereich der Elemente zurück, die einem bestimmten Schlüssel entsprechen
(öffentliche Elementfunktion) |