Hier verwenden ist der Code-Snippet, das ich verwirrt:Zeiger zu löschen und ein Feld des gelöschten Objekts
T* pop(){
if(head == 0)
return 0;
T* result = head->data;
Link* oldHead = head;
head = head->next;
delete oldHead;
return result;
}
Der result
Zeiger maked verweisen auf das „Datenfeld“ des Kopfes des Objekts. Danach wird head
gelöscht. Muss nicht result
auf Null oder ein Leerzeichen zeigen, da das data
Feld zusammen mit head
gelöscht wird?
Verwenden Sie für weniger Verwirrung [std :: stack <> '] (http://en.cppreference.com/w/cpp/container/stack). –
Bereinigt Link Destructor Daten? wenn nicht dann nein. – Eddge
Was ist Link? Was ist Kopf? Ich kann dein Beispiel nicht kompilieren ... –