Изменится ли конечный адрес вектора, если мы удалим некоторые элементы из вектора, потому что в векторе память выделяется последовательно (так же, как массив) - PullRequest
0 голосов
/ 16 апреля 2020

Если я удаляю векторные элементы с помощью функции erase () в c ++, будет ли также сдвигаться адрес конечного элемента, поскольку память в векторе выделяется последовательно?

1 Ответ

1 голос
/ 16 апреля 2020

Да, вы правы.

Более формально, все итераторы и ссылки в или после первой точки стирания, включая итератор end(), аннулированы.

Другими словами, адреса элементов до точки стирания остаются прежними, но не те, что после.

...