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)