草庐IT

c++ - 制表哈希和 N3980

我在调整未决的C++1z提案时遇到问题N3980由@HowardHinnant与tabulationhashing合作.从头计算制表哈希的工作原理与N3980中描述的哈希算法(Spooky、Murmur等)相同。它并没有那么复杂:只需通过hash_append()序列化任何用户定义类型的对象,然后让哈希函数在您进行时将指针更新为随机数表。当尝试实现制表散列的一个不错的属性时,麻烦就开始了:如果对象发生变异,计算散列的增量更新非常便宜。对于“手工制作”的制表哈希,只需重新计算对象受影响字节的哈希。我的问题是:如何将增量更新传达给uhash函数对象,同时保持N3980的中心主题(Types