Разбираем, что такое инвалидация ссылок/указателей/итераторов в
std::vector, почему контейнер «переезжает» при росте (
reallocation), как удаление через
erase сдвигает элементы и ломает старые адреса, почему
const не спасает, и как мыслить «картой рисков» по операциям (
push_back,
reserve,
resize,
erase) чтобы не нарваться на
UB.