📅  最后修改于: 2023-12-03 15:08:52.100000             🧑  作者: Mango
在C++中,unordered_map是一种容器,用于存储一组key-value对。成对的unordered_map则是用来存储两组key-value对,并提供了便捷的查询方法。本文将介绍如何在C++中创建成对的unordered_map。
首先,我们需要包含unordered_map头文件。代码如下:
#include <unordered_map>
接下来,我们可以声明成对的unordered_map,代码如下:
std::unordered_map<int, int> map1;
std::unordered_map<int, int> map2;
这里我们定义了两个unordered_map,它们都有两个int类型的key和value。
接下来,我们可以使用insert()方法将key-value对插入unordered_map中,代码如下:
map1.insert(std::make_pair(1, 2));
map1.insert(std::make_pair(3, 4));
map2.insert(std::make_pair(2, 1));
map2.insert(std::make_pair(4, 3));
这里我们使用了std::make_pair来创建key-value对,并使用insert()方法将其插入到unordered_map中。
最后,我们可以使用find()方法来查找一个key对应的value,代码如下:
std::unordered_map<int, int>::iterator it;
it = map1.find(1);
if (it != map1.end())
std::cout << "The value of key 1 is " << it->second << std::endl;
it = map2.find(4);
if (it != map2.end())
std::cout << "The value of key 4 is " << it->second << std::endl;
这里我们通过std::unordered_map::iterator迭代器来遍历unordered_map,查找是否存在某个key,并输出其对应的value。
完整代码如下:
#include <iostream>
#include <unordered_map>
int main()
{
std::unordered_map<int, int> map1;
std::unordered_map<int, int> map2;
map1.insert(std::make_pair(1, 2));
map1.insert(std::make_pair(3, 4));
map2.insert(std::make_pair(2, 1));
map2.insert(std::make_pair(4, 3));
std::unordered_map<int, int>::iterator it;
it = map1.find(1);
if (it != map1.end())
std::cout << "The value of key 1 in map1 is " << it->second << std::endl;
it = map2.find(4);
if (it != map2.end())
std::cout << "The value of key 4 in map2 is " << it->second << std::endl;
return 0;
}
输出结果为:
The value of key 1 in map1 is 2
The value of key 4 in map2 is 3
以上就是在C++中创建成对的unordered_map的介绍。