我有一个Linked list类的简单实现,其中包含指向我定义的Node对象的指针。
insertHead函数创建一个新的Node并将其插入到头部。然而,每当我调用该函数时,构造函数似乎每次都返回指向同一个对象的指针。(我使用GDB检查过)
我在这里贴出代码片段。请问有什么地方不对吗?
void LinkedList::insertHead(int val){
Node temp(val);
if(head == NULL){
head = tail = &temp;
} else {
temp.setNext(head);
head = &temp;
}
}
类定义:
class LinkedList{
Node *head;
Node *tail;
...
class Node{
int val;
Node *next;
...
Node::Node(int x){
val = x;
next = NULL;
}
new
或一些独特或共享指针。 - Retired Ninja