Lista dowiązaniowa - kasowanie elementów

1

klasa Lista ma następujące składowe:

    private:
        string id;//identyfikator
        double value;
        Lista *next;

Jeśli w metodzie która ma wyczyścić listę napiszę:

delete next;

to zostanie usunięty tylko pierwszy napotkany element wraz ze wskźnikiem to dalszej części listy (a reszta pozostanie w pamięci) ?

Nie chcę zostawiać śmieci, a przypuszczam,że tak się stanie.

2

? nie rozumiem o co Ci chodzi

while (current->next)
{ 
  ptr * tmp = current->next;
  delete current;
  current = tmp;
}

to jest w pseudokodzie, ale chyba rozumiesz co trzeba napisac

0

rozumiem

Chodziło mi o to czy tą jedną linijką usunę całą listę,ale po odpowiedzi widzę,że muszę się zająć każdym elementem.

Dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1