std::hash的用法
时间: 2024-06-17 13:03:48 浏览: 261
nohash-hasher-std :: hash :: Hasher的实现,它根本不进行哈希处理-Rust开发
std::hash是C++ STL中用于将任意数据类型转换为哈希值的函数对象。它可以接受一个参数,并返回一个哈希值,用于在哈希表等数据结构中查找、插入和删除元素。
例如,可以使用std::hash<int>将一个整数转换为哈希值。这个哈希值可以用于在哈希表中查找、插入或删除一个整数。
下面是一个示例:
```
#include <iostream>
#include <string>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> myMap;
myMap["one"] = 1;
myMap["two"] = 2;
std::hash<std::string> strHash;
std::size_t hashValue = strHash("one");
if (myMap.count("one") != 0) {
std::cout << "The value of \"one\" is " << myMap["one"] << std::endl;
}
return 0;
}
```
在这个示例中,我们使用std::unordered_map作为哈希表,将字符串键映射到整数值。我们使用std::hash<std::string>将键转换为哈希值,并使用count()函数检查是否存在一个键,使用[]运算符查找键的值。
阅读全文