Sobes.tech
Junior — Middle

Ինչպե՞ս է իրականացվում տվյալների պահպանումը դինամիկ հիշողության ոլորտում (heap):

sobes.tech AI

Պատասխան AI-ից

Դինամիկ հիշողություն (heap) — դա հիշողության տարածք է, որտեղ ծրագրային ապահովումը անհրաժեշտության դեպքում ժամանակակից ժամանակահատվածում հիշողություն է հատկացնում և ազատում:

  • Երբ պահանջվում է հիշողություն (օրինակ՝ malloc-ով C-ում կամ new-ով C++-ում), հատկացնում է անհրաժեշտ չափի բլոկ:
  • Հիշողությունը չի կազմակերպված որպես stack, հետևաբար օբյեկտները կարող են գտնվել ցանկացած վայրում:
  • Հիշողության կառավարումը պատկանում է ծրագրավորողին (ոչ-գործող մաքրման լեզուներում) կամ մաքրման համակարգին (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-ում