STL哈希函数

J T*_*J T 15 c++ algorithm boost cryptography stl

STL是否有可用的Hash功能,这些功能是否公开?

我知道有一些使用哈希值的非标准实现(例如boost :: hash_map),而MSVC8实现了hash_map/hash_set/etc的版本.

但是有没有在C++ 98 STL中定义的Hash函数

如果没有,那么可靠散列函数的最佳非C++ 98源代码是什么?

首选源的顺序(从最可接受到最少):Boost,C++ 0x标准STL,TR1,其他第三方.

Cub*_*bbi 16

总结一下:

并且所有这些都是为散列关联容器而设计的,而不是用于加密.

  • 我认为第一点是不正确的.STL没有哈希函数.您发布到SGI的STL实现的链接特别引用"此类是SGI扩展;它不是C++标准的一部分" (3认同)
  • @JT:这有点倒退了.(HP/SGI)STL存在于C++ 98之前,并且当时具有散列函数.并非STL的所有部分都成为C++ 98; SGI随后将这些文件记录为"标准的扩展".有关详细信息,请参阅Matt Austern的STL书籍. (2认同)