*&in void headInsert(DoubleLinkList*&head, int theData)是什么意思。是否等同于 void headInsert(DoubleLinkList he



我对指针的概念有点疑惑。

当我尝试使用DoubleLinkList

void headInsert(DoubleLinkList head, int theData) 

这个东西不工作。但这是工作:

void headInsert(DoubleLinkList*& head, int theData)

为什么?

这是对指针的引用,这意味着指针是通过引用传递的。这意味着当函数返回时,对函数内部指针的更改仍然有效。

相反,当指针按值传递时(即没有引用&),它实际上在调用函数时被复制到一个新的局部变量中。这意味着,如果指针发生了变化,只有这个本地副本发生了变化,而从函数外部传递过来的指针不会发生变化。

将指针作为引用传递,使函数可以更改指针指向的对象(当指针按值传递时,这是不可能的)。

从右到左读。

在第一种情况下,headDoubleLinkList

在第二种情况下,head是一个指向DoubleLinkList的指针的引用。

相关内容

  • 没有找到相关文章

最新更新