La clase hash es construible por defecto, lo que significa que uno puede construir este objeto sin argumentos ni valores de inicialización. Se utiliza para obtener el valor hash del argumento que se le está pasando. Si el argumento no cambia, el valor tampoco cambia.
Sintaxis:
template <class T> struct hash;
Sintaxis para crear objeto:
hash<class template> object-name
Funciones miembro: esta clase Hash solo tiene una función miembro:
- operator(): devuelve el valor hash para un argumento dado.
A continuación se muestra la implementación de la clase hash:
Ejemplo:
CPP
#include <bitset> // functional header // for hash<class template> class #include <functional> #include <iostream> #include <string> #include <vector> using namespace std; // To demonstrate String Hashing void stringHashing() { // Get the string // to get its hash value string hashing1 = "Geeks"; // Instantiation of Object hash<string> mystdhash; // Using operator() to get hash value cout << "String hash values: " << mystdhash(hashing1) << endl; } // To demonstrate BITSET Hashing void bitsetHashing() { // Get the BITSET // to get its hash value bitset<5> h_bitset("10101"); // Instantiation of Object hash<bitset<5> > hash_bitset; // Using operator() to get hash value cout << "\nBitset 10101 hash value: " << hash_bitset(h_bitset) << endl; } // To demonstrate Vector<bool> Hashing void vectorHashing() { // Get the Vector<bool> // to get its hash value vector<bool> h_vecbool{ true, false, true, false }; // Instantiation of Object hash<vector<bool> > hash_vector_bool; // Using operator() to get hash value cout << "\nVector<bool> hash value: " << hash_vector_bool(h_vecbool) << endl; } // To demonstrate Char Hashing void charHashing() { // Get the char // to get its hash value char ch = 'a'; // Instantiation of Object hash<char> hash_char; // Using operator() to get hash value cout << "\nChar hash values: " << hash_char(ch) << endl; } // Driver Code int main() { stringHashing(); bitsetHashing(); vectorHashing(); charHashing(); }
Producción:
String hash values: 4457761756728957899 Bitset 10101 hash value: 17123654466142159564 Vector hash value: 16935082123893034051 Char hash values: 97
Referencia: http://www.cplusplus.com/reference/funcional/hash/
Publicación traducida automáticamente
Artículo escrito por Aakash_Panchal y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA