Удаление после позиции в forward_list в C++
Метод erase_after убирает узел,
следующий за переданным итератором.
Для первого элемента снова используют
before_begin: после этой позиции
виден первый узел цепочки. Связи
перестраиваются без сдвига массива.
Запишем три числа, сотрем узел после первого и выведем оставшуюся длину через подсчет обходом:
std::forward_list<int> nums = {10, 20, 30};
auto it = nums.before_begin();
nums.erase_after(it);
int count = 0;
for (int x : nums) {
++count;
}
std::cout << count << "\n";
Удалите второй узел односвязного списка строк, указав позицию перед ним, и напечатайте первое оставшееся слово.