В названии говорится, что все действительно. Учитывая, что итератор заканчивается, может ли он быть увеличен на ноль без вызова undefined поведения?
Дело в точке - работает ли следующий код для возврата итератора к указанному индексу - или к end
, если индекс вне диапазона?
std::vector<Type>::iterator Class::fromIndex(size_t index) {
return member_vector.begin() + std::min(index, member_vector.size());
}
Если поведение для std::advance
или std::next
отличается тем, что было бы интересно узнать, но здесь меня особенно интересует operator+
.