[英]Iterator in std::set containing std::map
如何才能訪問存儲在std::set
的map
? 我需要做點什么
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.