it‑training
1500

Инвалидация итераторов вектора

про cpp20cppcontainersundefined-behaviouryandextbank
std::vector<int> v{1, 2, 3, 4};
auto it = v.begin() + 2;
v.push_back(5);
std::cout << *it;   // ???

Этот код — неопределённое поведение: push_back мог вызвать реаллокацию, после которой it указывает в освобождённую память.

Выберите все верные утверждения об инвалидации итераторов std::vector.

Ответ

Можно выбрать несколько вариантов.