gpt4 book ai didi

C++参数传递中**和*&的区别

转载 作者:可可西里 更新时间:2023-11-01 15:39:20 26 4
gpt4 key购买 nike

我已经在一个列表上实现了操作,其中一个是添加,因为我不想返回任何东西,我读到我必须使用 **,它有效,但我在另一个地方看到它被传递为 *&,但我不知道有什么区别

addNode( node *&head, int 值)addNode(node **head, int value)

有什么区别,哪个更好,或者它们的意思相同?我知道第二个是指向指针的指针。

谢谢

最佳答案

第一个 (**) 是一个指向指针的指针,第二个 (*&) 是一个引用 指向一个指针。

引用和指针在概念上非常相似。但是有一些重要的区别,例如:

  • 引用不能为 NULL(但它可以引用指向 NULL 的指针)。
  • 您不能修改引用以引用其他内容。
  • 您需要取消引用指针才能访问该值。

有关更多差异,请参阅此相关问题:

关于C++参数传递中**和*&的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3834067/

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