unordered_map<int, int>mp如何使用
时间: 2023-06-13 13:04:06 浏览: 102
IATHook的代码 unorder-map管理
unordered_map 是 C++ STL 中的一个关联容器,可以用于存储键值对。其中,键和值都可以为任意类型,且键必须是唯一的。
使用 unordered_map 时,需要包含头文件<unordered_map>。下面是一个示例代码:
```c++
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
unordered_map<int, int> mp;
mp[1] = 10;
mp[2] = 20;
mp[3] = 30;
cout << mp[1] << endl; // 输出 10
cout << mp[2] << endl; // 输出 20
cout << mp[3] << endl; // 输出 30
return 0;
}
```
在上面的代码中,我们首先创建了一个名为 mp 的 unordered_map 对象,该对象的键为 int 类型,值也为 int 类型。然后,我们向 mp 中插入了三个键值对,分别为 (1, 10),(2, 20),和 (3, 30)。最后,我们通过键来访问 mp 中的值,并将其输出到控制台。
需要注意的是,如果我们访问 mp 中不存在的键,将会返回一个默认值。在上面的代码中,我们没有向 mp 中插入键值对 (4, xx),因此访问 mp[4] 时将会返回一个默认值。为了避免这种情况,我们可以使用 unordered_map 的 count() 函数或 find() 函数来判断某个键是否存在。例如:
```c++
if (mp.count(4)) {
// 4 存在于 mp 中
}
auto iter = mp.find(4);
if (iter != mp.end()) {
// 4 存在于 mp 中
}
```
上面的代码中,我们先使用 count() 函数来判断键 4 是否存在于 mp 中,如果存在则执行相应的操作。另外,我们还可以使用 find() 函数来查找键 4,如果找到了则返回指向该键值对的迭代器,否则返回 mp.end()。
阅读全文