我制作了一个[[map,我想以相反的顺序对其进行迭代。我知道我可以这样使用auto关键字来做到这一点
#include <bits/stdc++.h>
using namespace std;
int main()
{
map <int,int> mp;
mp.insert(make_pair(3,30));
mp.insert(make_pair(4,90));
mp.insert(make_pair(2,130));
mp.insert(make_pair(1,20));
mp.insert(make_pair(5,10));
auto it = mp.crbegin();
while(it!=mp.crend())
{
cout<<it->first <<" "<< it->second <<endl;
it++;
}
}
我可以用什么代替自动关键字?
我下面的代码给我编译错误。
#include <bits/stdc++.h> using namespace std; int main() { map <int,int> mp; mp.insert(make_pair(3,30)); mp.insert(make_pair(4,90)); mp.insert(make_pair(2,130)); mp.insert(make_pair(1,20)); mp.insert(make_pair(5,10)); map<int,int>::iterator it = mp.crbegin(); while(it!=mp.crend()) { cout<<it->first <<" "<< it->second <<endl; it++; } }
有可能吗?
const_reverse_iterator
。因此,它将编译:map<int,int>::const_reverse_iterator it = mp.crbegin();