Namensräume
Varianten
Aktionen

std::unordered_multiset<Key,Hash,KeyEqual,Allocator>::find

Von cppreference.com
 
 
 
 
iterator find( const Key& key );
(1) (seit C++11)
const_iterator find( const Key& key ) const;
(2) (seit C++11)
template< class K >
iterator find( const K& x );
(3) (seit C++20)
template< class K >
const_iterator find( const K& x ) const;
(4) (seit C++20)
1,2) Findet ein Element mit einem Schlüssel, der äquivalent zu key ist. Wenn sich mehrere Elemente mit dem angeforderten Schlüssel im Container befinden, kann jedes von ihnen zurückgegeben werden.
3,4) Sucht ein Element, dessen Schlüssel mit dem Wert x als äquivalent verglichen wird. Dieser Überladungsfall nimmt nur an der Überladungsauflösung 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 Typen von K als auch von Key aufrufbar ist und dass KeyEqual transparent ist, was zusammen die Aufrufbarkeit dieser Funktion ohne die Konstruktion einer Instanz von Key ermöglicht.

Inhalt

[bearbeiten] Parameter

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

[bearbeiten] Rückgabewert

Ein Iterator zu dem angeforderten Element. Wenn kein solches Element gefunden wird, wird der past-the-end (siehe end()) Iterator zurückgegeben.

[bearbeiten] Komplexität

Im Durchschnitt konstant, im schlimmsten Fall linear zur Größe des Containers.

Anmerkungen

Feature-Test-Makro Wert Std Feature
__cpp_lib_generic_unordered_lookup 201811L (C++20) Heterogene Vergleichssuche in ungeordneten assoziativen Containern; Überladungsfälle (3,4)

[bearbeiten] Beispiel

#include <iostream>
#include <unordered_set>
 
int main()
{
    // Simple comparison demo.
    std::unordered_multiset<int> example{1, 2, 3, 4};
 
    if (auto search = example.find(2); search != example.end())
        std::cout << "Found " << (*search) << '\n';
    else
        std::cout << "Not found\n";
}

Ausgabe

Found 2

[bearbeiten] Siehe auch

gibt die Anzahl der Elemente zurück, die einem bestimmten Schlüssel entsprechen
(public member function) [edit]
gibt den Bereich von Elementen zurück, die einem bestimmten Schlüssel entsprechen
(public member function) [edit]