-4
如果我想删除一个指针并释放它使用的内存,这两段代码有什么区别? (在C++)在C++中这两个“指针删除”操作有什么区别?
1.
delete p1;
p1=p1->next;
2.
int* remove;
remove=p1;
p1=p1->next;
delete remove
我都尝试两所1导致记忆问题,但我不知道为什么。
你能否告诉我你“删除”一个指针后发生了什么?它是否删除指针本身?或者指针和它指向的东西?还是只有它指向的东西?
谢谢!
没有区别,因为你写他们。两者都有不确定的行为,只是出于不同的原因。 – StoryTeller
'delete remove;'是未定义的行为,以及'p1 = p1-> next;'是。 – user0042
该死的我是这个网站的新手。应该有“删除= P1”。 –