валидность итератора при move контейнера
От: niXman Ниоткуда https://github.com/niXman
Дата: 26.02.19 15:43
Оценка:
привет.

вот есть у нас объект вектора.
вот есть у нас объект итератора для этого вектора.
и вот мы сделали move() для вектора. в каком состоянии итаратор?

казалось бы, итератор для вектора — просто указатель. и, если мы не переаллоцируем вектор — указатель быдет указывать в прежний адрес.
но, есть дебажные итераторы(говорю о libstdc++) которые не просто указатель. я, по правде сказать, не заглядывал им внтурь, наверняка они все так же хранят указатель.

вопрос в том, есть ли какие-то гарантии того, что итераторы остаются валидными при перемещении(move) контейнера? (по логике — должны быть)


спасибо.
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)
Отредактировано 26.02.2019 15:44 niXman . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.