C++ 使用一个键和一对值遍历映射

C++ 使用一个键和一对值遍历映射,c++,C++,我有这张地图,并假设它已经充满了数据 mapmymap 假设它有一个键和一对值,如下所示: 例: “你好”{10,20} 我已经知道如何用一个键和一个值输出 这里显示的是一个键可以有两个值,但我不知道如何遍历它们并获得如示例中所示的输出。因此这对我来说很有效 我首先初始化了这些 pair<int,int> pairs; map<string, pair<int,int> > mymap; 对于输出 for(auto i : mymap) { //i.

我有这张地图,并假设它已经充满了数据

mapmymap

假设它有一个键和一对值,如下所示:

例:
“你好”{10,20}

我已经知道如何用一个键和一个值输出

这里显示的是一个键可以有两个值,但我不知道如何遍历它们并获得如示例中所示的输出。

因此这对我来说很有效

我首先初始化了这些

pair<int,int> pairs;
map<string, pair<int,int> > mymap;
对于输出

for(auto i : mymap) {
    //i.first for the key
    //i.second.first and i.second.second for the pair values
}
我读到的资料来源:

,,


请务必通知我。也许我的观点不正确。

您已经尝试过什么?映射中的每个
对都是一个“值”。如果您知道如何使用迭代器或循环范围在映射上迭代,那么您已经遇到了
std::pair
,因为映射中的每个元素都是
std::pair
,包含
第一个
第二个
元素。这是我使用
的第一个元素(map::iterator i=mymap.begin();i!=mymap.end();i++){cout first With the map
map
然后
*i
是一个
。也就是说,
i->first
是一个
字符串
值,
i->second
是一个
值。现在想想看,一对就是一对,它总是有一个
第一个
和一个
第二个
成员。你怎么办你认为可以访问值对的第一个和第二个整数吗?
for(auto i : mymap) {
    //i.first for the key
    //i.second.first and i.second.second for the pair values
}