Sobes.tech
Junior — Middle

Jak je zajištěno ukládání dat v oblasti dynamické paměti (heap)?

sobes.tech AI

Odpověď od AI

Dynamická paměť (heap) je oblast paměti, ze které program při běhu alokuje a uvolňuje paměť podle potřeby.

Uložení dat v heapu probíhá takto:

  • Při požadavku na paměť (například pomocí malloc v C nebo new v C++) je alokován blok požadované velikosti.
  • Paměť není organizována jako zásobník, takže objekty mohou být umístěny na libovolných místech.
  • Správa paměti je na programátorovi (v jazycích bez garbage collectoru) nebo na garbage collectoru (v jazycích s GC).
  • Na iOS, při použití Objective-C nebo Swift, jsou objekty obvykle alokovány v heapu a správa paměti je zajištěna ARC (automatickým počítáním odkazů).

Příklad v Swift:

class Person {
    var name: String
    init(name: String) {
        self.name = name
    }
}

let person = Person(name: "Ivan") // objekt je vytvořen v heapu