gpt4 book ai didi

c++ - *& 在 void headInsert(DoubleLinkList*& head, int theData) 中是什么意思。它是否等同于 void headInsert(DoubleLinkList head, int theData)

转载 作者:行者123 更新时间:2023-11-27 23:15:15 26 4
gpt4 key购买 nike

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

当我尝试使用 DoubleLinkList 时

void headInsert(DoubleLinkList head, int theData) 

这东西不工作。但这是有效的:

void headInsert(DoubleLinkList*& head, int theData)

为什么?

最佳答案

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

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

关于c++ - *& 在 void headInsert(DoubleLinkList*& head, int theData) 中是什么意思。它是否等同于 void headInsert(DoubleLinkList head, int theData),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16732981/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com