我一直在阅读一个使用类的List(及其节点)的实现,我发现了一些我不太明白的东西。 下面是Node类的代码,我不明白:结合&和*运营商
class Node {
private:
Data data;
Node* next;
public:
Node*& getNext();
};
Node*& Node::getNext()
{
return this->next;
}
什么是* &到底是什么?我没有得到该方法返回的变量类型。
我想我现在就买下,以后我有这些行(类目录内):
Node** node = &first;
node = &(*node)->getNext();
这是否意味着我在未来存储的地址在节点*?
注意:第二个问题在评论中回答。感谢您的回复。
这是对指针的引用。 –
当你认为返回一个引用可能是一个好主意时,你应该总是提出两个问题:1)这个东西是否被'Node'的用户实际拥有? 2)引用是否永远不会超过它所指的对象?如果两个答案都是肯定的,通常只考虑返回一个参考。 –
这不是一个操作员。 – Puppy