Pointer
-
Hey, ich beschäftige mich zur Zeit mit Listen und da bin ich auf ein Ausdruck gestoßen wo ich nicht genau weiß was das genau bedeutet, undzwar:
cursor -> getPrev() -> setNext(cursor->getNext());
Was mich an dem Ausdruck stört, ist setNext(cursor->getNext()).
Ich weiß damit nichts anufangen
Könnte mir einer vllt. erklären warum cursor->getNext() innerhalb des Pointers
setNext gesetzt wird? Danke
-
setNext ist kein Zeiger, sondern eine (Member-)Funktion.
-
Die Aussage sagt doch, dass das Element vor dem cursor auf das Element nach dem cursor gesetzt wird, oder? Was hat das für einen Sinn?
-
Nein es wird der Nachfolger vom Element vor dem Curser auf den Nachfolger vom Curser gesetzt. Es wird also das Cursor Element übersprungen. Effektiv löscht du dadurch das Element an der Curserposition aus deiner verketteten Liste. Da du aber eine doppelt verkettete List hast muss man gleiches auch für den Zeiger auf die Vorgänger machen. Also der Vorgänger vom Element nach dem Cursor soll das gleiche sein wie der Vorgänger vom Cursor.
-
Alles klar, danke
