在本地对象中有一个整理方面。
collate facet 有一个返回 long 的 hash 方法。
http://www.cplusplus.com/reference/std/locale/collate/hash/
两个问题:
- 有谁知道使用什么散列方法。
- 我需要一个 32 位的值。
如果我的 long 超过 32 位,是否有人知道将散列折叠成较短版本的技术。我可以看到,如果操作不当,折叠可能会产生很多冲突(尽管我可以处理冲突,因为无论如何我都需要考虑到这一点,但我希望它们被最小化)。
注意:我不能使用 C++0x 特性
Boost 可能没问题。