Junior — Middle
Hogyan történik az adatok tárolása a dinamikus memóriában (heap)?
sobes.tech MI
Válasz az MI-től
A dinamikus memória (heap) egy olyan memória terület, ahonnan a program szükség szerint foglal és szabadít fel memóriát futás közben.
A heapen tárolt adatok így kerülnek tárolásra:
- Amikor memória igénylés történik (például malloc segítségével C-ben vagy new segítségével C++-ban), a szükséges méretű blokk kerül lefoglalásra.
- A memória nem szervezett veremként, így az objektumok tetszőleges helyeken helyezkedhetnek el.
- A memória kezelés a programozóra hárul (nyelvben, ahol nincs szemétgyűjtő), vagy a szemétgyűjtőre (GC) (nyelvben, ahol van GC).
- iOS-en, Objective-C vagy Swift használatakor, az objektumok általában a heapen kerülnek lefoglalásra, és a memória kezelés ARC (automatikus hivatkozásszámlálás) segítségével történik.
Swift példával:
class Person {
var name: String
init(name: String) {
self.name = name
}
}
let person = Person(name: "Ivan") // objektum a heapen jön létre