Сообщение Re[6]: Можно ли и как канонично получить из итератора тип эл от 22.04.2025 14:58
Изменено 22.04.2025 15:18 rg45
Re[6]: Можно ли и как канонично получить из итератора тип эл
Здравствуйте, B0FEE664, Вы писали:
BFE>Изменение по месту я понимаю так:
BFE>
BFE>результат: "...b...", а не "...ab...".
А где ты видел итератор, корорый в этом случае привел бы к результату "ab"? На всякий случай скажу и так очевидную вещь: выражение наподобие *it = 'a' не выполняет инкремента итератора.
BFE>Изменение по месту я понимаю так:
BFE>
BFE>*it = 'a';
BFE>*it = 'b';
BFE>BFE>результат: "...b...", а не "...ab...".
А где ты видел итератор, корорый в этом случае привел бы к результату "ab"? На всякий случай скажу и так очевидную вещь: выражение наподобие *it = 'a' не выполняет инкремента итератора.
Re[6]: Можно ли и как канонично получить из итератора тип эл
Здравствуйте, B0FEE664, Вы писали:
BFE>Изменение по месту я понимаю так:
BFE>
BFE>результат: "...b...", а не "...ab...".
К результату "ab" могут привести, разве что, только такие особые виды итераторов, как back_insert_iterator и ostream_iterator. Но даже у этих операторов существует операция инкремента (просто она пустая).
В самом же общем случае итератор является обобщением указателя и для того, чтобы получить последовательность, итератор нужно инкрементить. Что и делают алгоритмы тип std::copy, std::fill, etc. А без этого инкремента это и будет многократное изменение одного и того же элемента.
BFE>Изменение по месту я понимаю так:
BFE>
BFE>*it = 'a';
BFE>*it = 'b';
BFE>BFE>результат: "...b...", а не "...ab...".
К результату "ab" могут привести, разве что, только такие особые виды итераторов, как back_insert_iterator и ostream_iterator. Но даже у этих операторов существует операция инкремента (просто она пустая).
В самом же общем случае итератор является обобщением указателя и для того, чтобы получить последовательность, итератор нужно инкрементить. Что и делают алгоритмы тип std::copy, std::fill, etc. А без этого инкремента это и будет многократное изменение одного и того же элемента.