在C ++ 11中,可以如下获取string
变量的哈希值:
std::size_t h1 = std::hash<std::string>{}("Some_String");
它干净简单。但是,我有两个问题:
答案 0 :(得分:8)
花括号用于对类型为std::hash<std::string>
的对象进行值初始化。然后可以调用该对象,因为它有一个重载的operator()
。或者,您可以创建一个命名对象:
std::hash<std::string> H;
auto h1 = H("Some_String");