Delete? Was denn alles?

grasmann

Grünschnabel
Ich bin, was das Freigeben von Speicher betrifft, etwas verwirrt. Wäre nett wenn mich jemand kurz und knapp aufklären könnte, oder mir nen Link gibt wo es erklärt ist, weil ich irgendwie nichts gescheites gefunden habe XD.

Was muss denn alles gelöscht werden?

Eine Klasse hat ja einen Destructor, wenn ich in der Klasse einen Vector aus anderen Klassen habe, und diesen so deklariere:

Code:
vector<ClInventarItem> InventarItems;

Muss ich diesen dann im Destructor mit "Delete" löschen, weil sonst irgendwann der Speicher mit irgendwelchen Leichen vollgekleistert ist?

Und wie sieht es z.B. mit einem string aus ( was soweit ich das verstanden habe ja auch schon eine andere Klasse (string) darstellt )?

Code:
string Name;

---------------------------------

Oder wie sieht es mit lokalen Variablen aus? Wenn ich in einer Funktion eine Variable deklariere:

Code:
int ItemIndex = -1;

Muss diese dann am Ende der Funktion auch gelöscht werden? Oder geschieht das automatisch?

Ich hab bisher nur Basic-Programmiersprachen benutzt, da muss man sich über sowas herzlich wenig Gedanken machen. :eek:
 
Zuletzt bearbeitet:
Hi

Alles, was mit "new" angelegt wird, muss auch mit "delete" gelöscht werden.
Sonst nichts.
Da du bei deinen 3 Codestücken kein "...= new ..." drinnenhast, kein delete bei allen dreien.

Gruß
 
Zurück