Freigeben über


hash-Klasse

Berechnet den Hashcode für einen Wert.

Syntax

template <class Ty>
struct hash {
    size_t operator()(Ty val) const;
};

Hinweise

Das Funktionsobjekt definiert eine Hashfunktion, die geeignet ist, Werte des Ty-Typs einer Verteilung von Indexwerten zuzuordnen. Das Element operator() gibt einen Hashcode für Val zurück, der für die Verwendung mit Klassenvorlagen unordered_map, , unordered_multimap, unordered_setund unordered_multiset. Die Standardbibliothek bietet Spezialisierungen für grundlegende Typen: Ty kann ein beliebiger skalarer Typ sein, einschließlich Zeigertypen und Enumerationstypen. Zusätzlich gibt es Spezialisierungen für die Bibliothekstypen string, wstring, u16string, u32string, string_view, wstring_view, u16string_view, u32string_view, bitset, error_code, error_condition, optional, shared_ptr, thread, type_index, unique_ptr, variant und vector<bool>.

Beispiel

// std__functional__hash.cpp
// compile with: /EHsc
#include <functional>
#include <iostream>
#include <unordered_set>

int main()
    {
    std::unordered_set<int, std::hash<int> > c0;
    c0.insert(3);
    std::cout << *c0.find(3) << std::endl;

    return (0);
    }
3

Anforderungen

Header:<functional>

Namespace: std

Siehe auch

<unordered_map>
unordered_multimap-Klasse
unordered_multiset-Klasse
<unordered_set>