unordered_map 是 C++ STL 中的一个容器,用于实现键-值对的无序映射。
注意事项:使用前需包含对应的头文件
#include <unordered_map>
1、创建键值对:
// 创建一个 unordered_map,键是字符串,值是整数
unordered_map<std::string, int> myMap;
2、插入键值对:
// 插入键值对
myMap["apple"] = 5;
myMap["banana"] = 2;
myMap["orange"] = 3;
3、访问键值对:
// 访问键值对
cout << "Number of apples: " << myMap["apple"] << endl;
4、遍历键值对:
// 遍历 unordered_map
for (const auto& pair : myMap) {
cout << pair.first << ": " << pair.second << endl;
}
其中:const auto& pair
: 这里的 pair
是循环中的迭代变量,它代表 unordered_map
中的每个键值对。auto
关键字用于自动推断变量的类型,const
表示 pair
是一个常量,避免意外修改键值对的值,&
表示使用引用,避免复制键值对。
5、完整实例代码:
#include <iostream>
#include <unordered_map>
#include <string>
using namespace std;
int main() {
// 创建一个 unordered_map,键是字符串,值是整数
unordered_map<std::string, int> myMap;
// 插入键值对
myMap["apple"] = 5;
myMap["banana"] = 2;
myMap["orange"] = 3;
// 访问键值对
cout << "Number of apples: " << myMap["apple"] << endl;
// 遍历 unordered_map
for (const auto& pair : myMap) {
cout << pair.first << ": " << pair.second << endl;
}
return 0;
}