Hash_map与unordered_map的区别
时间: 2023-11-25 14:50:00 浏览: 81
Hash_map与unordered_map的区别主要有以下几点:
1. 底层实现不同:hash_map是基于哈希表实现的,而unordered_map是基于哈希表桶实现的。
2. 标准支持不同:hash_map是非标准库,而unordered_map是C++11标准库的一部分。
3. 性能不同:unordered_map的性能比hash_map更好,因为它使用了更加高效的哈希算法和桶结构。
4. 接口不同:unordered_map提供了更多的接口和功能,例如桶的迭代器、哈希策略等。
下面是一个使用unordered_map的例子:
```c++
#include <iostream>
#include <unordered_map>
int main() {
std::unordered_map<std::string, int> myMap = {{"apple", 1}, {"banana", 2}, {"orange", 3}};
std::cout << "The value of apple is: " << myMap["apple"] << std::endl;
myMap["pear"] = 4;
std::cout << "The size of myMap is: " << myMap.size() << std::endl;
for (auto it = myMap.begin(); it != myMap.end(); ++it) {
std::cout << it->first << " => " << it->second << std::endl;
}
return 0;
}
```
阅读全文