📜  如何在C++中创建成对的unordered_map?(1)

📅  最后修改于: 2023-12-03 15:08:52.100000             🧑  作者: Mango

如何在C++中创建成对的unordered_map?

在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的介绍。