繁体   English   中英

包含std :: map的std :: set中的迭代器

[英]Iterator in std::set containing std::map

如何才能访问存储在std::setmap 我需要做点什么

for (iterator=map.begin(); iterator!=map.end(); iterator++) {
    some_function(iterator->first);
}

,而不是使用包含地图的集合映射。

它与迭代任何其他地图没有太大区别。

set<map<int, int> > s;
for (set<map<int, int> >::iterator it = s.begin(); it != s.end(); ++it) {
  for (map<int, int>::iterator iter = it->begin(); iter != it->end(); ++iter) {
     .. do something ...
  }
}

首先,迭代集合,然后遍历外部容器迭代器指向的映射元素。 我在这里使用map<int, int>只是为了说明。

使用range-for使这更简单(假设我理解你的问题):

for (map<int, int>& m : my_set) {
    some_function(m);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM