【发布时间】:2015-12-27 17:14:24
【问题描述】:
我一直在从我的一个班级阅读这段代码。并且对析构函数中的一个变量感到非常困惑。这是代码,顺便说一句,这是一个链表头文件。而我认为没有定义但使用的变量是n;
#include <iostream>
using namespace std;
class LinkedList
{
private:
struct node
{
int info;
node * next;
};
typedef node * nodeptr;
nodeptr start;
int count;
public:
// Constructor
LinkedList()
{
start = NULL;
count = 0;
}
// Destructor
~LinkedList()
{
nodeptr p = start, n;
while (p != NULL)
{
n = p;
p = p->next;
delete n;
}
}
第一次出现这个 n 来自该行
nodeptr p = 开始,n;
所以请教我为什么使用这样的变量是合法的。任何命令表示赞赏。
谢谢
【问题讨论】:
-
“我认为没有定义但使用的变量是n”。但是
nodeptr p = start, n;行是n! 的定义 -
p和n都是nodeptr类型,有什么问题!
标签: c++ linked-list destructor