指针和引用的表达式的确切含义是什么?

时间:2014-05-12 06:38:53

标签: c++ pointers data-structures syntax reference

在查看二进制搜索树的代码时,我遇到了这个表达式,

Node *&t;

Node是struct。为什么t需要同时成为指针和引用?

问候

1 个答案:

答案 0 :(得分:2)

这是对指针的引用(因为pointers to references are illegal in C++)。这意味着,t代表一些变量,而变量又是指向Node的指针。

很难判断,如果没有一些代码,这个变量用于什么,但场景可能如下所示:

void MoveNext(Node * & t)
{
    t = t->next;
}

// (...)

Node * current = head;
MoveNext(current);
// Now current points to second item