class Node{
public:
int data;
Node* next;
Node(int data)
{
this->data = data;
this->next = NULL;
}
};
int main()
{
Node* node1 = new Node(12);
cout<< node1->data ;
return 0;
}
不明白为什么要为节点(Node* node1)创建指针对象?
谢谢你提前消除我的疑虑
1条答案
按热度按时间hgb9j2n61#
main()
中的代码需要一个指针,因为new
返回的是这个指针,代码在堆的 dynamic 内存中创建Node
对象(由于return
语句之前没有delete node1;
语句,因此泄漏了它)。你可以在堆栈的 automatic 内存中创建对象,这样就不需要指针了,例如:
通常,使用动态存储器来创建链表,使得新节点可动态地添加到列表,诸如在循环中,或响应于用户输入等。