看起来here boost :: hash_value总是返回size_t值。
boost也有64位散列函数吗?
答案 0 :(得分:3)
我所知道的所有哈希例程(boost::hash
中的std::hash1
和C++11
)都将事物哈希到size_t
值。
size_t
(如int
)的表示形式因平台而异。
一般情况下你的问题的答案是否定的 - 没有boost::hash_value
的64位版本。
如果您在size_t
是64位数量(例如x86_64
)的平台上运行,那么是,boost::hash_value
将是64位。