Junior — Middle
Hoe worden gegevens opgeslagen in het dynamische geheugen (heap)?
sobes.tech AI
Antwoord van AI
Dynamisch geheugen (heap) is een geheugenruimte waar een programma tijdens de uitvoering geheugen toewijst en vrijmaakt indien nodig.
Opslag van gegevens in de heap gebeurt als volgt:
- Bij een geheugenaanvraag (bijvoorbeeld via malloc in C of new in C++) wordt een blok van de benodigde grootte toegewezen.
- Het geheugen is niet georganiseerd als een stack, dus objecten kunnen op willekeurige plaatsen liggen.
- Het geheugenbeheer ligt bij de programmeur (in talen zonder garbage collector) of bij de garbage collector (in talen met GC).
- Op iOS, bij gebruik van Objective-C of Swift, worden objecten meestal in de heap toegewezen, en het geheugenbeheer gebeurt via ARC (automatisch referentietelling).
Voorbeeld in Swift:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person = Person(name: "Ivan") // object wordt in de heap aangemaakt