使用 make_pair 定义两个unordered_map 存储同一个数据 删除一个中的数据 另一个会不会报错
时间: 2024-02-23 13:58:55 浏览: 63
和使用 `map` 一样,使用 `make_pair` 定义两个 `unordered_map` 存储同一个数据,删除一个中的数据,另一个不会报错,因为这两个 `unordered_map` 存储的是同一个数据,只是存储的方式不同。具体实现可以参考以下代码:
```cpp
#include <iostream>
#include <unordered_map>
using namespace std;
int main() {
unordered_map<string, int> map1;
unordered_map<string, int> map2;
// 向 map1 和 map2 中添加数据
map1.insert(make_pair("a", 1));
map2.insert(make_pair("a", 1));
// 删除 map1 中的数据
map1.erase("a");
// 查看 map1 和 map2 中的数据
cout << "map1: ";
for (auto it = map1.begin(); it != map1.end(); ++it) {
cout << it->first << " " << it->second << endl;
}
cout << "map2: ";
for (auto it = map2.begin(); it != map2.end(); ++it) {
cout << it->first << " " << it->second << endl;
}
return 0;
}
```
输出结果为:
```
map1:
map2: a 1
```
可以看到,删除了 `map1` 中的数据后,`map2` 中的数据并没有被影响。
阅读全文