felder zurückgeben
-
ist das static dafür gut, speicherlecks zu vermeiden?
-
Lars Hupel schrieb:
ist das static dafür gut, speicherlecks zu vermeiden?
In diesem Falle gibt es dann kein Speicherleck, da die Variable im Speicher
bestehen bleibt (static). Allerdings ist das sehr unschoen, imho. IMHO sollte man
hier mit Zeigern oder STL-Klassen ala vector arbeiten.mfg
v R
-
Lars Hupel schrieb:
ist das static dafür gut, speicherlecks zu vermeiden?
speicherlecks? löcher im speicher wo die bits durchtrudeln? nee, das ist dazu da, damit der aufrufer auch noch was vom feld hat
-
aha
na gut, das gegenteil davon hätte ich persönlich als speicherleck bezeichnet.
-
std::vector
-
ein std::vector wird auch irgendwann zerstört. das tut doch nichts zur sache...
-
oder sowas
FELD *gib_mir_jedes_mal_ein_neues_feld (void) { return (FELD*)malloc (sizeof(FELD)); }
-
damit kann man das problem lösen. Punkt.
-
felt schrieb:
damit kann man das problem lösen. Punkt.
dann fange ich jetzt mal nen neuen satz an
du hast recht, ich habe mich geirrt. sorry
-
net schrieb:
oder sowas
FELD *gib_mir_jedes_mal_ein_neues_feld (void) { return (FELD*)malloc (sizeof(FELD)); }
Unter C++ machen wir sowas dann ja mit new
Und wenn man das macht, muss man umbedingt darauf achten, dass man alle so geholten felder auch wieder mit delete löschen muss, oder man muss sich ne garbagecollection bauen.
Sonst gibts richtig Speicherlecks, wenn das jemand falsch benutzt.