所以,我有一个std::map<int, my_vector>
并且我想遍历每个 int 并分析向量。我还没有分析矢量的部分,我仍在试图弄清楚如何遍历地图上的每个元素。我知道可以有一个迭代器,但我不太明白它是如何工作的,而且我不知道是否有更好的方法来做我打算做的事情
问问题
10359 次
2 回答
6
您可以简单地遍历地图。每个地图元素都是一个std::pair<key, mapped_type>
,所以first
给你关键,second
元素。
std::map<int, my_vector> m = ....;
for (std::map<int, my_vector>::const_iterator it = m.begin(); it != m.end(); ++it)
{
//it-->first gives you the key (int)
//it->second gives you the mapped element (vector)
}
// C++11 range based for loop
for (const auto& elem : m)
{
//elem.first gives you the key (int)
//elem.second gives you the mapped element (vector)
}
于 2013-03-13T18:08:38.933 回答
1
于 2013-03-13T18:08:22.580 回答