我有一个简单的链表结构,我想对其进行迭代。
struct Node{
int data;
struct Node *next;
};
假设我在没有初始化next
的情况下创建了一个数据为1的节点。
Node* test3 = new Node;
test3->data = 1;
由于next不是NULL
,所以我在迭代这个链表的时候不能做限制条件。
我认为没有任何方法可以检测内存是否已分配。
我该如何解决这个问题?
最佳答案
当您使用 C++ 时,您也可以向结构添加构造函数。这样更安全,因为您不会忘记初始化下一个指针:
struct Node{
int data;
struct Node *next;
Node() : next(0) {}
};
当您创建一个新节点
时,next
会自动初始化为NULL
== 0。
关于c++ - 检查链表的结尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33928784/