§24.1.1/3 из С++ 03 Стандартные читает,
Для итераторов ввода a == b не подразумевает ++ a == ++ b. (Equality does not гарантируют заменяющее имущество или реляционная прозрачность.) Алгоритмы на входных итераторах никогда не следует пытаться пройти через те же итератора дважды. Они должны быть одиночными проходных алгоритмов. Тип значения T не должен быть назначаемым типом (23.1). Эти алгоритмы могут быть использованы с istreams как источник ввод данных через istream_iterator.
Я не мог понять жирный текст в приведенной выше цитате. Может ли кто-нибудь помочь мне понять это?
Кроме того, что означает следующий оператор (курсивный текст в приведенной выше цитате)? Как это связано с выражениями a==b
и ++a==++b
?
Равенство не гарантируют заменяющее имущество или реляционная прозрачность.