c++中unordered_map的作用是什么

avatar
作者
筋斗云
阅读量:2

unordered_map是C++标准库中的一个容器,用于存储键值对。它的作用类似于字典或者哈希表,可以快速地根据键查找对应的值。

unordered_map使用哈希表来实现,具有快速的查找操作。相对于map容器,unordered_map没有按照键的顺序进行排序,因此在查找操作上更加高效。可以将unordered_map用于需要快速查找键值对的场景,例如计数器、缓存等。

使用unordered_map时,键和值可以是任意类型,只要满足特定的要求。unordered_map提供了一系列的成员函数和操作符,可以方便地插入、删除、访问和修改键值对。

例如,下面的代码演示了unordered_map的基本用法:

#include <iostream> #include <unordered_map>  int main() {     std::unordered_map<int, std::string> map;      // 插入键值对     map.insert({1, "apple"});     map.insert({2, "banana"});     map.insert({3, "orange"});      // 访问和修改值     std::cout << map[1] << std::endl; // 输出: apple     map[1] = "kiwi";     std::cout << map[1] << std::endl; // 输出: kiwi      // 查找键值对     if (map.find(2) != map.end()) {         std::cout << "Found key 2: " << map[2] << std::endl; // 输出: Found key 2: banana     }      // 删除键值对     map.erase(3);      // 遍历所有键值对     for (const auto& pair : map) {         std::cout << "Key: " << pair.first << ", Value: " << pair.second << std::endl;     }      return 0; } 

输出结果:

apple kiwi Found key 2: banana Key: 1, Value: kiwi Key: 2, Value: banana 

总之,unordered_map提供了一种高效的存储和查找键值对的方式,适用于需要快速访问和修改数据的场景。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!