Сообщение Re[8]: Можно ли и как канонично получить из итератора тип эл от 27.04.2025 7:12
Изменено 27.04.2025 7:28 rg45
Re[8]: Можно ли и как канонично получить из итератора тип эл
Здравствуйте, Marty, Вы писали:
M>Ну, у меня UtfOutputIterator именно так себя и ведёт
Ну, это не только у тебя, я ж там приводил ещё примеры. Но, как минимум, могут быть варианты. В сам по себе output iterator concept автоинкремент при записи не заложен. Обычный неконстантый указатель также является подвидом output iterator, но он же не инкрементируется автоматически при записи. И стандартные алгоритмы типа std::copy выполняют явный инкремент итераторов не просто так ведь. Семантически у любого output итератора есть разыменование и инкремент, и это отдельные операции.
M>Ну, у меня UtfOutputIterator именно так себя и ведёт
Ну, это не только у тебя, я ж там приводил ещё примеры. Но, как минимум, могут быть варианты. В сам по себе output iterator concept автоинкремент при записи не заложен. Обычный неконстантый указатель также является подвидом output iterator, но он же не инкрементируется автоматически при записи. И стандартные алгоритмы типа std::copy выполняют явный инкремент итераторов не просто так ведь. Семантически у любого output итератора есть разыменование и инкремент, и это отдельные операции.
Re[8]: Можно ли и как канонично получить из итератора тип эл
Здравствуйте, Marty, Вы писали:
M>Ну, у меня UtfOutputIterator именно так себя и ведёт
Ну, это не только у тебя, я ж там приводил ещё примеры. Но, как минимум, могут быть варианты. В сам по себе output iterator concept автоинкремент при записи не заложен. Обычный неконстантый указатель также является подвидом output iterator, но он же не инкрементируется автоматически при записи. И стандартные алгоритмы типа std::copy выполняют явный инкремент итераторов не просто так ведь. Семантически у любого output итератора есть разыменование и инкремент, и это отдельные операции. То, что в некоторые классы итераторов инкремент встраивают в разыменование — это уже лайфхаки некторорых классов итераторов.
M>Ну, у меня UtfOutputIterator именно так себя и ведёт
Ну, это не только у тебя, я ж там приводил ещё примеры. Но, как минимум, могут быть варианты. В сам по себе output iterator concept автоинкремент при записи не заложен. Обычный неконстантый указатель также является подвидом output iterator, но он же не инкрементируется автоматически при записи. И стандартные алгоритмы типа std::copy выполняют явный инкремент итераторов не просто так ведь. Семантически у любого output итератора есть разыменование и инкремент, и это отдельные операции. То, что в некоторые классы итераторов инкремент встраивают в разыменование — это уже лайфхаки некторорых классов итераторов.