std::vector speicherreservierung/freigabe
-
hallo,
Warum muss man bei einem vector , im gegensatz zu einem herkömmlichen dynamischen array keinen speicher mit delete freigeben?
kann mir das jemand eklären ?
lg
-
Doch muss man, kommt nur immer auf die Anwendung an

Zeig doch mal deine Anwendung.
-
agse schrieb:
hallo,
Warum muss man bei einem vector , im gegensatz zu einem herkömmlichen dynamischen array keinen speicher mit delete freigeben?
kann mir das jemand eklären ?
lgKurze Antwort:
Weil man auch keinen Speicher mit new allokieren muss.Etwas längere Antwort:
std::vector verwaltet seinen Speicher selbst, die AUfrufe von new und delete sind also in der Implementation von vector versteckt.
-
das heißt wenn ich einen vector erzeuge:
vector<int> myVector(size);brauch ich mir SICHER keine gedanken mehr um dessen speicherfreigabe zu machen?
-
Richtig.
-
Allgemein, wenn du Standardcontainer verwendest. Du musst dich nur um die Speicherfreigabe kümmern, wenn du Zeiger in Containern speicherst und deren Speicher mit
newanforderst. Bei Objekten macht die STL alles für dich.