Итерационная арифметика

В С++ STL, если у меня есть итератор it в вектор v, it - v.begin() гарантированно дает мне индекс в вектор, так что *it == v[it - v.begin()]? Если это так, это верно для всех итераторов произвольного доступа?

Ответ 1

Да, это так, и это верно для всех итераторов RA.