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 mapmap
然后*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
}