CPP-101: Двусвързан списък с водещ елемент

Пример: използване на член-функцията erase

За демонстрация на работата на член-функцията erase добавяме следният фрагмет код:

int main() {
    ...

    it=l.erase(it);
    print_list(l);

    it=l.erase(it);
    print_list(l);

    return 0;
}

Преди изпълнението на ред 4 итераторът it е насочен към елемента със стойност 10. След изпълнението на ред 4 стойностите на елементите в списъка са:

-20 -10 0 20

Функцията erase връща итератор насочен към елемента след изтрития, т.е. итераторът it е насочен към елемента със стойност 20. След изпълнението на ред 7 елементите в списъка са

-20 -10 0

Очакваният изход след изпълнение на програмата е:

lubo@bolt:~/code$ g++ list.cc
lubo@bolt:~/code$ ./a.out 
ListError: back(): list is empty
ListError: front(): list is empty
10
20
-10
-20
-20, -10, 10, 20, 
[-20, -10, 10, 20, ]
[-20, -10, 0, 10, 20, ]
[-20, -10, 0, 20, ]
[-20, -10, 0, ]
lubo@bolt:~/code$ 
Публикувано в CPP-101, Кръг 2, ООП с етикети , , . Постоянна връзка.