Forståelse af bevaret hukommelse i funktioner
I sammenh
ng med en funktion refererer 'retains' til det faktum, at funktionen ikke frigiver eller frigør den hukommelse, den bruger. I stedet bevarer den hukommelsen og er ansvarlig for at deallokere den, når den ikke l
ngere er nødvendig. Med andre ord, en funktion, der beholder hukommelsen, returnerer ikke hukommelsen til dyngeren eller stakken, efter den er f
rdig med at bruge den. Det betyder, at funktionen er ansvarlig for styring af hukommelsens levetid, hvilket kan v
re nyttigt i visse situationer, men som også kr
ver omhyggelig styring for at undgå hukommelsesl
kager. henviser til den datastruktur til den, der ringer. Hvis funktionen ikke frigiver hukommelsen, når den ikke l
ngere er nødvendig, vil hukommelsen blive bibeholdt af funktionen, og den, der ringer, er ansvarlig for at tildele den senere. Dette kan føre til hukommelsesl
kager, hvis den, der ringer, glemmer at deallokere hukommelsen.
I mods
tning hertil en funktion, der returnerer en pointer til hukommelsen, der er allokeret på stakken eller heapen og derefter frigiver hukommelsen, når den ikke l
ngere er nødvendig (dvs. ` malloc` og `free`) bevarer ikke hukommelsen. Hukommelsen frigives tilbage til heapen eller stakken, så snart funktionen er f
rdig med at bruge den, så den, der ringer, behøver ikke at bekymre sig om at administrere hukommelsens levetid.



