I want to insert something into a STL list in C++, but I only have a reverse iterator. What is the usual way to accomplish this?
This works: (of course it does)
std::list<int> l; std::list<int>::iterator forward = l.begin(); l.insert(forward, 5);
This doesn’t work: (what should I do instead?)
std::list<int> l; std::list<int>::reverse_iterator reverse = l.rbegin(); l.insert(reverse, 10);
l.insert(reverse.base(), 10);will insert ’10’ at the end, given your definition of the ‘reverse’ iterator. Actually,l.rbegin().base() == l.end().