Hash-Wert-Kombination in C 0x
In C 0x wird die Hinzufügung von Hash<...>(...) eingeführt ein wertvolles Werkzeug zur Manipulation von Hash-Werten. Das Fehlen einer hash_combine-Funktion ähnlich der in Boost bereitgestellten hat Programmierer jedoch dazu veranlasst, nach einem alternativen Ansatz zu suchen. In diesem Artikel wird eine saubere Implementierung mit xor_combine von C 0x untersucht.
Der Kern der Lösung liegt in der Nachahmung der Implementierung von 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); }
Diese Funktion verwendet std::hash
Das obige ist der detaillierte Inhalt vonWie kann ich Hash-Werte in C 0x effektiv kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!