Pat*_*ray 7 c++ struct destructor delete-operator
假设我有一个带有两个指针的结构,每个指针指向一个具有已实现的析构函数的对象.还假设头指向Listnode结构,该结构具有非NULL值*student和*next:
struct Listnode {
Student *student;
Listnode *next;
};
Listnode *head = new Listnode;
Run Code Online (Sandbox Code Playgroud)
如果我使用deleteListnode指针'head'上的保留字,它将调用该结构中的析构函数Student class和Listnode类,其中'student'和'next'分别指向.换句话说,将删除*head也删除*student和*next提供的head是唯一指向该Listnode的指针
das*_*ght 10
除非您的析构函数~Listnode调用delete指针.调用delete将,但是,调用非指针成员的析构函数.