我怎样才能访问存储在 std::set
中的 map
?我需要做类似的事情
for (iterator=map.begin(); iterator!=map.end(); iterator++) {
some_function(iterator->first);
}
,但不是使用包含 map 的集合来映射 im。
最佳答案
这与迭代任何其他 map 没有太大区别。
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 元素。我用过map<int, int>
这里只是为了说明。
关于c++ - std::set 中包含 std::map 的迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15855247/