I have such code :
vector v; for (int i=0; i<5; i++) v.push_back(i); v.erase(find(v.rbegin(), v.rend(),2).base());
This
base() returns the underlying base iterator.
base()
The base iterator refers to the element that is next to the element the reverse_iterator is currently pointing to. That is std::reverse_iterator(it).base() == std::next(it).
reverse_iterator
std::reverse_iterator(it).base() == std::next(it)
You can learn more about reverse_iterator here.