C++-manual | ||
---|---|---|
Förutgående | Nästa |
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.
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:
programmet slösar med minne. Om det innehåller ett antal stora vektorer som ändå för det mesta är tomma slösas mycket minne.
programmet kanske ändå någongång behöver mera minne än vad som finns i de statiska vektorerna.
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.
Förutgående | Hem | Nästa |
Exempelbibliotek | Allokering och frigöring av minne |