unordered_map 例子
时间: 2023-05-10 20:00:24 浏览: 121
unordered_map和unordered_set的模拟实现
5星 · 资源好评率100%
unordered_map是C++ STL中的一个哈希表容器,可以使用键值对存储数据。举例来说,我们可以使用unordered_map来存储学生的姓名和年龄。
首先,我们需要包含头文件<unordered_map>。接着,我们可以使用unordered_map类型的对象来定义容器,例如:
```
unordered_map<string, int> student_map;
```
上述代码定义了一个unordered_map容器对象,其中键值为string类型,存储学生姓名;值为int类型,存储学生年龄。我们可以使用insert函数向容器中添加键值对,例如:
```
student_map.insert({"Alice", 20});
student_map.insert({"Bob", 21});
```
上述代码向容器中添加了两个键值对,分别是{"Alice", 20}和{"Bob", 21}。我们可以使用find函数查找指定的键对应的值,例如:
```
auto it = student_map.find("Alice");
if (it != student_map.end()) {
cout << it->second << endl; // 输出20
}
```
上述代码查找键为"Alice"的键值对,并输出其对应的值20。
除了使用insert函数添加键值对之外,我们还可以使用下标操作符[]来添加和修改键值对。例如:
```
student_map["Charlie"] = 19;
student_map["Alice"]++;
```
上述代码分别使用下标操作符向容器中添加了一个键值对{"Charlie", 19},以及将键为"Alice"的值增加1。
unordered_map的使用方法比较灵活,可以适用于多种场景。需要注意的是,在多线程环境下使用unordered_map时需要进行线程同步。
阅读全文