这个INITLIST()有什么用?

来源:百度知道 编辑:UC知道 时间:2024/07/03 10:30:17
#include<iostream.h>

struct llink
{
int data;
llink *next;
};

class Linklist
{
private:
llink *first;
public:
Linklist() {first=NULL;InitList ();}
bool InitList ();
void insertNode (int d);
void deleteNode (int d);
void printlist ();
int search(int d);
};

bool Linklist::InitList() {
if (!(first = new llink)) {
return false;
}
first->next = NULL;

return true;
}
。。。
。。。。。
我知道是初始化,为什么还要判断是否成功动态创建?
if (!(first = new llink)) {
return false;
}
为什么不能在直接写上FIRST->NEST=NULL;

初始化Linklist类的first成员。
---------------------------------------
必须要判断,因为如果new操作不成功的话,first指针指向的内存就是不可写的,那么first->next这种写法就是错误的,运行时会报内存错。