Sobes.tech
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