reverse iterator

Problem 1:this

vector<int> coll = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

vector<int>::const_iterator pos = find (coll.cbegin(), coll.cend(),5);

cout << "pos: " << *pos << endl;

vector<int>::const_reverse_iterator rpos(pos);

cout << "rpos: " << *rpos << endl;

This program has the following output:blog

pos: 5it

rpos: 4io

Same position but its value is changed; this can use the pos in the diagram to illustrate it.class

Problem 2:im

deque<int> coll = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };

deque<int>::const_iterator pos1;

pos1 = find (coll.cbegin(), coll.cend(), 2); // value

deque<int>::const_iterator pos2;

pos2 = find (coll.cbegin(), coll.cend(), 7); // value

for_each (pos1, pos2, print); // operation

deque<int>::const_reverse_iterator rpos1(pos1);

deque<int>::const_reverse_iterator rpos2(pos2);

for_each (rpos2, rpos1, print); // operation

The program is as follows:img

2 3 4 5 6di

6 5 4 3 2vi

It seems the behavior of the problem 2 is not same with problem 1.co

This can use the pos1, pos2 in the diagram to illustrate it.

相關文章
相關標籤/搜索