Iterating C++ vector from the end to the beginning
One way is: for (vector<my_class>::reverse_iterator i = my_vector.rbegin(); i != my_vector.rend(); ++i ) { } rbegin()/rend() were especially designed for that purpose. (And yes, incrementing a reverse_interator moves it backward.) Now, in theory, your method (using begin()/end() & –i) would work, std::vector‘s iterator being bidirectional, but remember, end() isn’t the last element — it’s one … Read more