我之前在Java中广泛使用链表,但是我对C++非常陌生。我正在使用这个在项目中给我的节点类,感觉还不错。
class Node
{
public:
Node(int data);
int m_data;
Node *m_next;
};
但是我有一个问题没有得到很好的回答。为什么需要使用?
Node *m_next;
指向链表中下一个节点的位置,而不是
Node m_next;
我知道使用指针版本会更好;我不会对事实进行争论,但我不知道为什么它更好。我得到了一个关于指针如何更好地进行内存分配的不太清楚的答案,我想知道是否有人能在这方面帮助我更好地理解。
Node m_next
并不是对节点的引用,而是存储整个Node
本身的空间。 - Brian Cain