Как известно, в STL есть куча всяких типов итераторов - двунаправленные, реверсивные, произвольного доступа и т.д. Есть еще итераторы ввода и вывода. Как я думаю они должны отличаться операциями для них разрешенными. Итератор ввода позволяет изменять содержимое контейнера, итератор вывода - нет может, соответственно возращаемый тип первого ссылка, второго - константная ссылка. Или я не прав? Просто в описании STL написано | Цитата | | Имеется дополнительный атрибут, который могли быть иметь последовательные, двунаправленные и произвольного доступа итераторы, то есть они могут быть модифицируемые (mutable) или постоянные (constant) в зависимости от того, ведёт ли себя результат operator* как ссылка или как ссылка на константу. Постоянные итераторы не удовлетворяют требованиям итераторов вывода. | Смысл последнего предложения не совсем ясен - если это итератор вывода, то почему он не может быть постоянным? Если кто разъяснит - буду оченть благодарен. |