Kapitel 12. Dynamisk minneshantering

Innehållsförteckning
Vad är dynamisk minneshantering
Allokering och frigöring av minne
Vanliga fel
Minneshantering på C:s vis

Detta kapitel innehåller information om hur man dynamiskt kan allokera och frigöra minne i C++. På så vis kan man skapa program som kan använda minne enligt behov.

Vad är dynamisk minneshantering

De program vi hittills tittat på har inte använt någon form av dynamisk minneshantering. Allt minne som använts har varit deklarerat som antingen vektorer eller vanliga variabler. Denna modell fungerar fint om man vid programmeringsskedet vet exakt hur mycket data som kommer att behövas av programmet under hela dess körningstid. I normala fall vet man inte det, speciellt om programmet är mera komplicerat än de enkla exempel som vi hittills tittat på. En brutal lösning är att i programmet skapa några överdrivet stora vektorer som kan hålla det data som behövs, men denna lösning har flera brister:

Alldeles tydligt behövs det någon form av funktionalitet för ett program att allokera mera minne under programmets körning, exakt då minnet behövs, och sedan funktionalitet för att ge obehövligt minne tillbaka till operativsystemet. Detta är vad dynamisk minnesallokering handlar om.