C++ /链表中的指针

Mad*_*Lal 2 c++ pointers linked-list

让我们说在我的链表类中我保留一个指向链表头部的指针......

在我编写此代码时的一个成员函数中...

Node *cur = head;
cur = cur->next;
Run Code Online (Sandbox Code Playgroud)

为什么不改头换面head->next

如果我写cur = NULL; 会不会成功null

lcs*_*lcs 7

我假设那head是一个Node *.在这种情况下,当你说cur = cur->next你正在改变cur点的位置时,但是head仍然会指向列表的头部,因为你没有改变它所指向的位置.

Cur----------|
             |
             V       next
Head -----> Item 1--------->Item 2
Run Code Online (Sandbox Code Playgroud)

cur = cur->next 产生以下结果:

Cur--------------------------|
                             |
                     next    V      
Head -----> Item 1--------->Item 2
Run Code Online (Sandbox Code Playgroud)