@Matthieu M .: Не совсем, это от еще не действующего стандарта. А у текущего такого требования нет, также в случае с OP это итераторы с произвольным доступом.
но ли сравнивать итераторы из разных контейнеров?
std::vector<int> foo;
std::vector<int> bar;
Есть ли выражениеfoo.begin() == bar.begin()
привести к ложному или неопределенному поведению?
(Я пишу пользовательский итератор и наткнулся на этот вопрос при реализацииoperator==
.)