나는 뒤로 비 반복으로 키를 통해 반복에 특히 관심이 있어요 :다른 함수에 멀티 맵 반복 논리를 적용 할 수 있습니까?
#include <map>
#include <iostream>
std::multimap<int,int> myMap = {
{1,2}, {1,2}, {2,2}, {2,2}, {3,2},
};
int main() {
using namespace std;
cout << "the keys backwards:" << endl;
typedef multimap<int, int> multimap_type;
typedef std::reverse_iterator<multimap_type::iterator> reverse_iterator;
for (auto it = myMap.rbegin(), end = myMap.rend(); it != end; it = reverse_iterator(myMap.lower_bound(it->first)))
{
cout << it->first << endl;
}
}
당신은 내가 다른 것들 사이 multimap에 이름을 세 번 반복해야 볼 수 있듯이. 모든 것을 처리하기 위해 자체 함수를 작성한 다음 while 루프 또는 range for loop를 호출 할 수 있습니까? 그와 마찬가지로 : it
while((auto it = myIterFunc(myMap)) {
//...
}
for (auto it : myIterFunc(myMap)) {
//...
}