c++ - 声明为 Node *&ptr = root->mRight 的变量

标签 c++ variables pointers types

我正在努力理解这意味着什么 我知道将变量声明为节点类型的地址,并且 & 获取变量的地址。我也知道在函数参数中它是通过引用指针调用。但我以前从未在变量声明中见过它...... 具体是什么意思

Node *&ptr = root->mRight

我知道如何使用指针以及我主要询问的有关 Node *& 变量类型的所有内容。 谢谢!

最佳答案

在右侧,root 是指向节点的指针。 root->mRight 是该节点的成员,即它的 mright,它是另一个指向节点的指针。

在左边,我们声明了一些东西(在用 = 给它赋值之前)。如果它是 Node *ptr,它将是一个指向节点的指针,但由于 &,它本身并不是这样的东西,它只是一个引用,另一个已经存在的这样的东西的别名。所以 ptr 只是指针 root->mRight 的另一个名称。

关于c++ - 声明为 Node *&ptr = root->mRight 的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7343473/

相关文章:

c++ - 覆盖说明符作为模板参数 - 它有效吗?

Python 线程 'While' 不正常

c - posix线程程序解释?

c++ - 一行中的最后一个数组元素和下一行中具有相同指针的第一个元素

c++ - 理解 C++ 指向父类/基类的指针

c++ - 如何在 C++03 中使用自定义谓词调用 std::unique?

c++ - 使用库依赖项的相对路径,

c++ - 如何安装clang头文件?

linux - 从 AWK 读取变量

javascript 无法从给定的参数中获取正确的变量值