Удаление по итератору из списка в C++
Удаление одного узла выполняют методом
erase по итератору на этот узел.
Контейнер перестраивает связи вокруг выбранного места. Соседние значения не копируются в новые ячейки, как при удалении из середины вектора.
Запишем три числа, укажем итератор на средний узел, сотрем его и выведем оставшийся средний элемент через начало:
std::list<int> nums = {10, 20, 30};
auto it = nums.begin();
++it;
nums.erase(it);
std::cout << *++nums.begin() << "\n";
Удалите из списка из трех строк среднюю строку по итератору и напечатайте длину контейнера.