首先,非常感谢帮助我并阅读这篇文章。
我有这样的结构:x,y。 我有一张数据是该结构的地图。 我想从iterator [1]得到.x获取数据。 我怎么能这样做?
非常感谢。
答案 0 :(得分:0)
如果您有一个指向it
元素的迭代器std::map<X, Y>
,那么您可以使用it->first
获取对该键的const引用,并使用{{{}获取对映射类型的引用1}},因为it->second
指向类型为
it
值
std::map<X, Y>::value_type
例如:
std::pair<std::map<X, Y>::key_type const,
std::map<X, Y>::mapped_type>
答案 1 :(得分:0)
#include <map>
#include <iostream>
#include <string>
using namespace std;
int main()
{
// for a simple struct you could use "pair" (especially if you don't want to name it).
// anyway:
map<int, pair<double, string>> mymap;
mymap[0] = pair<double, string>(4.56, "hello");
mymap[1] = pair<double, string>(9.87, "hi");
for(auto & item : mymap)
{
cout << "Key: " << item.first << ", Value: [" << item.second.first << ", " << item.second.second << "]" << endl;
}
return 0;
}
输出:
键:0,值:[4.56,你好]
关键:1,价值:[9.87,hi]