Junior — Middle
Kuidas toimub andmete salvestamine dünaamilise mäe (heap) alal?
sobes.tech AI
Vastus AI-lt
Dünaamiline mälu (heap) on mälu ala, kust programmi vajadusel mälu eraldab ja vabastab selle täitmise ajal.
Andmete salvestamine heapis toimub järgmiselt:
- Kui taotletakse mälu (näiteks C-s malloc või C++-s new kaudu), eraldatakse vajalik suurus.
- Mälu ei ole organiseeritud nagu virn, seega võivad objektid paikneda suvalistes kohtades.
- Mälu haldamine on programmeerija ülesanne (keeltes ilma prügikoristajata) või prügikoristaja ülesanne (GC-ga keeltes).
- iOS-is, kasutades Objective-C või Swift, eraldatakse objektid tavaliselt heapis ning mälu haldamine toimub ARC (automaatne viidete arvutamine) kaudu.
Swift näide:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person = Person(name: "Ivan") // objekt loodud heapis