Я просто пытаюсь понять, что на самом деле представляют собой InputIterator и OutputIterator в C ++. Теперь, до сих пор, я всегда предполагал, что определения, которые я всегда знал о Input и Output , также применяются к итераторам.
Таким образом, это означает, что Ввод означает «поместить во что-то», что означает, что вы можете написать в итератор, например, вставить что-то в итератор.
Вывод - это «где-то потушить», и это всегда значило для меня, писать на экран или вставлять в переменную.
Теперь выясняется, что с нашими друзьями-итераторами, наоборот, InputIterator используется для доступа только для чтения к последовательности элементов, которая, по-видимому, должна называться «Выход». , поскольку вы используете этот тип итератора, например, для записи элементов от std::vector<int>
до std::cout
.
OutputIterator оказывается тем, который имеет доступ только для записи.
Я задавался вопросом, может ли кто-нибудь дать разумное объяснение этому, я считаю довольно странным называть типы итераторов?