Combinaison de valeurs de hachage en C 0x
En C 0x, l'ajout de hash<...>(...) introduit un outil précieux pour manipuler les valeurs de hachage. Cependant, l'absence d'une fonction hash_combine similaire à celle fournie dans Boost a poussé les programmeurs à rechercher une approche alternative. Cet article explore une implémentation propre utilisant xor_combine de C 0x.
Le nœud de la solution réside dans l'imitation de l'implémentation de Boost :
template <class T> inline void hash_combine(std::size_t& seed, const T& v) { std::hash<T> hasher; seed ^= hasher(v) + 0x9e3779b9 + (seed << 6) + (seed >> 2); }
Cette fonction utilise std::hash
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!