gpt4 book ai didi

c++ - "struct node* temp"和 "struct node*& temp"有什么区别?

转载 作者:行者123 更新时间:2023-11-30 01:45:14 25 4
gpt4 key购买 nike

在做一些基于二叉搜索树的问题时......我在函数调用中有点困惑:

void find(node* root,node*& temp)
{
blah blah...
}
int main()
{
node* temp=NULL;
node* root=NULL;
find(root,temp);
}

两个传递的参数有什么区别?

最佳答案

void find(node* root,node*& temp)

root 按值传递。您对 *root 所做的任何操作都会反射(reflect)在调用者中,但对 root 的任何更改都不会。

temp 通过引用传递。您对 *temp 所做的任何操作都将反射(reflect)在调用者中,对 temp 的任何更改也将反射(reflect)在调用者中。

关于c++ - "struct node* temp"和 "struct node*& temp"有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34954943/

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