有64位版本的boost::hash_值吗

有64位版本的boost::hash_值吗,boost,hash-function,Boost,Hash Function,看起来boost::hash_值总是返回一个size_t值 boost也有64位哈希函数吗?我所知道的所有哈希例程(包括C++11中的boost::hash和std::hash1)都将内容哈希到size\u t值 size\u t(如int)的表示形式因平台而异 在一般情况下,您的问题的答案是否定的-没有64位版本的boost::hash_value 如果你在一个平台上运行,size\u t是一个64位的量(比如,x86\u 64),那么是的,boost::hash\u值将是64位的。在我的系统

看起来boost::hash_值总是返回一个size_t值


boost也有64位哈希函数吗?

我所知道的所有哈希例程(包括
C++11
中的
boost::hash
std::hash1
)都将内容哈希到
size\u t

size\u t
(如
int
)的表示形式因平台而异

在一般情况下,您的问题的答案是否定的-没有64位版本的
boost::hash_value


如果你在一个平台上运行,
size\u t
是一个64位的量(比如,
x86\u 64
),那么是的,
boost::hash\u值将是64位的。

在我的系统上(Mac OS X 10.8,带clang),下面的代码:
std::cout但这不是你可以依赖的,是吗?看,不,不是。我知道的所有
hash
东西都返回了
size\u t
boost::hash
std::hash
)。感谢您的回复。我不确定我是否完全理解你的回答。你是说boost库不提供总是返回54位变量的哈希函数吗?@Subway
hash_value
在32位平台上返回32位结果,在64位平台上返回64位结果。