Сообщение Re[8]: Можно ли и как канонично получить из итератора тип эл от 27.04.2025 7:12
Изменено 27.04.2025 7:26 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 итератора есть разыменование и инкремент, и это отдельные операции.