Sobes.tech
Junior — Middle

Чӣ гуна нигоҳдории маълумот дар минтақаи ёддоштӣ (heap) амалӣ мешавад?

sobes.tech AI

Ҷавоб аз AI

Динамикӣ хотира (heap) — ин минтақаи хотира аст, ки дар он барнома дар вақти иҷрои барнома ёдгирӣ ва озод кардани хотираро мувофиқи эҳтиёҷ мекунад.

Захира кардани маълумот дар heap чунин аст:

  • Вақте ки талаботи хотира (масалан, тавассути malloc дар C ё new дар C++) ба вуҷуд меояд, блоки зарурии андозаро ҷудо мекунад.
  • Хотира ҳамчун як стек ташкил нашудааст, бинобар ин объектҳо метавонанд дар ҷойҳои тасодуфӣ ҷойгир шаванд.
  • Идораи хотира ба барномасоз (дар забонҳои бе ҷамъкунандаи партов) ё ба ҷамъкунандаи партов (дар забонҳои бо GC) тааллуқ дорад.
  • Дар iOS, вақте ки Objective-C ё Swift истифода мешавад, объектҳо одатан дар heap ҷудо мешаванд ва идораи хотира тавассути ARC (саноати автоматии истинодҳо) анҷом дода мешавад.

Масалан дар Swift:

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

let person = Person(name: "Ivan") // объект дар heap сохта мешавад