Saltar al contenido

cómo obtener el código hash de un string en C++

Emanuel, miembro de este equipo, nos ha hecho el favor de redactar este enunciado porque domina perfectamente dicho tema.

Solución:

En C++03, boost::hash. En C++11, std::hash.

std::hash()("foo");

Boost proporciona una función hash:

aumentar el hash

#include 

int hashCode()

    boost::hash string_hash;

    return string_hash("Hash me");

La siguiente es la fuente del valor predeterminado. String.hashCode() en Java, este es un ejercicio trivial para implementar en C++.

public int hashCode()  

       int h = hash;
       if (h == 0 && count > 0) 
       
           int off = offset;
           char val[] = value;
           int len = count;

           for (int i = 0; i < len; i++) 
           
               h = 31*h + val[off++];
           
           hash = h;
       
       return h;
   

Sección de Reseñas y Valoraciones

Si te ha sido de provecho nuestro artículo, nos gustaría que lo compartas con otros juniors de esta forma nos ayudas a extender esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *