ajo*_*eps 2 c++ hash std
我知道这std::hash<T>是依赖于实现的,但它们应该是确定性的吗?
std::hash<T>
我知道如果我std::hash<T>在同一个进程中多次运行函数多次,我会得到相同的输出.但是,如果我重新启动该过程,我会获得相同的值吗?是否有用于std :: hash的种子?它取决于编译器版本还是其他因素?
是否可以保证输入时无论过程运行何时启动,机器还是编译器版本,X我都会得到输出Y?
X
Y
Sla*_*ica 7
不,文档清楚地说明:
哈希函数只需要在一次执行程序时为同一输入产生相同的结果; 这允许盐渍哈希防止碰撞DoS攻击.
重点是我的.这是从C++ 14开始,但是我们不能假设它可以在C++ 11中运行,因为没有明确提供这样的保证.
归档时间:
7 年,4 月 前
查看次数:
594 次
最近记录: