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 сохта мешавад