Sobes.tech
Junior — Middle

Dinamik yaddaş sahəsində (heap) məlumatlar necə saxlanılır?

sobes.tech Süni İntellekt

AI-dan cavab

Dinamik yaddaş (heap) — bu proqramın ehtiyac duyduğu zamanlarda yaddaşı ayırıb sərbəst buraxdığı yaddaş sahəsidir.

Heap-də məlumatların saxlanması aşağıdakı şəkildə həyata keçirilir:

  • Yaddaş tələbi (məsələn, C-də malloc və ya C++-də new vasitəsilə) ilə lazım olan ölçüdə blok ayrılır.
  • Yaddaş yığın kimi təşkil olunmayıb, ona görə obyektlər istənilən yerlərdə yerləşə bilər.
  • Yaddaş idarəetməsi proqramçıya (sıfır toplayıcı olmayan dillərdə) və ya toplayıcıya (GC olan dillərdə) aiddir.
  • iOS-də, Objective-C və ya Swift istifadə edərkən, obyektlər adətən heap-də ayrılır və yaddaş idarəetməsi ARC (avtomatik istinad sayımı) vasitəsilə həyata keçirilir.

Swift-də nümunə:

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

let person = Person(name: "Ivan") // obyekt heap-də yaradılır