struct A{
int a;
A*q;
};
A*p=new A;
p->q=new A;
delete p->q;
delete p;
可能这种是正确的,但是我觉得为什么仅delete p;这一个操作不行,q这个指针也是分配在p指向的内存地址里?为什么delete p不会触发它其中q指向的内存地址一同被释放掉?
struct A{
int a;
A*q;
};
A*p=new A;
p->q=new A;
delete p->q;
delete p;
可能这种是正确的,但是我觉得为什么仅delete p;这一个操作不行,q这个指针也是分配在p指向的内存地址里?为什么delete p不会触发它其中q指向的内存地址一同被释放掉?