-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」。 –