به مثال زیر دقت کنید:
#include <algorithm>
#include <iostream>
#include <vector>
int main()
{
auto v = std::vector<int> { 1, 2, 3 };
auto rit = std::find(v.rbegin(), v.rend(), 3);
if (rit != v.rend()) {
auto idx = std::distance(begin(v), rit.base()) - 1;
std::cout << idx;
} else
std::cout << "not found!";
}
شما برای اینکار باید از متد base استفاده کنید که iterator حالت عادی را دریافت کنید موقعیتش هم طبق شکل زیر حساب میشه.(یکی ازش کم میشه)