Reputation: 7867
for example:
for(int i=0;i<v.size();i++){
}
is normal order,
for(int i=v.size()-1;i>=0;i--){
}
is reversed order,
how about reverse version of iterator?
for(vector<int>::iterator it=v.begin();it!=v.end();++it){
}
also is there any reverse version of this code style?
for(int i : v){
}
Upvotes: 0
Views: 146
Reputation: 28178
Use a reverse iterator:
for(auto it = v.rbegin(); it != v.rend(); ++it){/*...*/}
There is no built in way to do a range based for
in reverse, but you could use boost::adaptors::reversed
:
for(auto& i : boost::adaptors::reversde(v)){/*...*/}
Upvotes: 5