Сообщение Re: получить указатель из итератора от 10.12.2022 19:55
Изменено 10.12.2022 19:57 andyp
Re: получить указатель из итератора
Здравствуйте, B0FEE664, Вы писали:
BFE>Есть некий итератор стандартного контейнера, а из него надо получить указатель на объект этого контейнера.
Итератор — не указатель. Какой-нибудь back_insert никогда не указывает ни на что валидное. Его разыменование позволяет втыкать нечто в конец.
BFE>Есть ли гарантия, что it.operator->() вернёт именно указатель, а не некий тип его имитирующий?
Нет. Возврат прокси часто практикуется.
BFE>Есть некий итератор стандартного контейнера, а из него надо получить указатель на объект этого контейнера.
Итератор — не указатель. Какой-нибудь back_insert никогда не указывает ни на что валидное. Его разыменование позволяет втыкать нечто в конец.
BFE>Есть ли гарантия, что it.operator->() вернёт именно указатель, а не некий тип его имитирующий?
Нет. Возврат прокси часто практикуется.
Re: получить указатель из итератора
Здравствуйте, B0FEE664, Вы писали:
BFE>Есть некий итератор стандартного контейнера, а из него надо получить указатель на объект этого контейнера.
Итератор — не указатель. Какой-нибудь back_insert_iterator никогда не указывает ни на что валидное. Его разыменование позволяет втыкать нечто в конец.
BFE>Есть ли гарантия, что it.operator->() вернёт именно указатель, а не некий тип его имитирующий?
Нет. Возврат прокси часто практикуется.
BFE>Есть некий итератор стандартного контейнера, а из него надо получить указатель на объект этого контейнера.
Итератор — не указатель. Какой-нибудь back_insert_iterator никогда не указывает ни на что валидное. Его разыменование позволяет втыкать нечто в конец.
BFE>Есть ли гарантия, что it.operator->() вернёт именно указатель, а не некий тип его имитирующий?
Нет. Возврат прокси часто практикуется.