Funkcja pobierania ze stosu

0

W książce THCPP Bruce'a Eckela jest na 240 stronie klasa Stack i funkcja która ściąga dane ze stosu, nie czaję jednej rzeczy. Funkcja wygląda tak:

void* Stack::pop()
{
	if(head == 0) return;
	void* result = head->data;
	Link* oldHead = head;
	head = head->next;
	delete oldHead;
	return result;
}

Skoro result = head->data, a oldHead = head i potem usuwamy delete oldHead, to znaczy, że result w tym momencie będzie pokazywał na obszar który jest usunięty. Błąd w książce czy w moim rozumowaniu?

0

W Twoim rozumowaniu. Usuwane jest to na co pokazuje oldHead, a nie to na co pokazuje oldHead->data. Chyba, że w destruktorze klasy Link jest usuwanie tego na co pokazuje data

1 użytkowników online, w tym zalogowanych: 0, gości: 1