Frage von snagnar, 23

Destruktoren in einem Pointer-Baum?

Ich habe in c++ für eine Spiel-KI zum Suchen des besten Zuges eine baumartige Struktur programmiert, in der alle möglichen züge und deren gegenzüge gespeichert sind. dafuür habe ich eine klasse "node" eingerichtet, die eine liste von pointern auf seine kinder enthält. meine frage ist jetzt, ob ,wenn der "root"-knoten des baumes, also der aller erste knoten, gelöscht wird, auch seine kinder und deren kinder gelöscht werden, weil es dann keinen pointer mehr gibt, der auf die objekte im speicher zeigt, oder ob ich das im destruktor der "node"-klasse extra so programmieren muss.

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von ReiInDerTube123, 15

Wenn du kein Pointer mehr hast der auf ein Objekt zeigt, dann wird das Objekt natürlich nicht gelöscht, nur der Pointer, der die Speicherposition enthält. Jedoch wird es schwierig.

Außerdem habe ich den Satz. "
oder ob ich das im destruktor der "node"-klasse extra so programmieren muss."

nicht ganz nachvollziehen können

Kommentar von snagnar ,

mit dem satz meinte ich, ob ich den code zum löschen der objekte im destuktor formulieren muss, oder ob ich ihn, wie es bei mir im moment der fall ist, einfach leer lasse und hoffe, dass das programm schon von allein hinter sich aufräumt. 

da, wie du geschrieben hast, dies wohl nicht der fall ist, habe ich wohl noch etwas arbeit vor mir ;)

Antwort
von Reyha24, 22

Wäre jedenfalls empfehlenswert.

Keine passende Antwort gefunden?

Fragen Sie die Community