Sobes.tech
Junior — Middle

Программалоодо стек түшүнүгүн кантип түшүндүрөсүз?

sobes.tech AI

AIден жооп

Programmalaşmada, heap (yığın) — bu, proqramın icrası zamanı dinamik yaddaş ayırmaq üçün istifadə olunan yaddaş sahəsidir. Stack-dən fərqli olaraq, burada yaddaş avtomatik olaraq LIFO prinsipinə görə ayırılır və sərbəst buraxılır, heap-də isə proqramçı özünün yaddaş ayırma və sərbəst buraxma əməliyyatlarını idarə edir (məsələn, C-də malloc/free və ya avtomatik idarə olunan dillərdə çöp toplayıcı vasitəsilə).

Heap, yalnız icra zamanı məlum olan ölçüdə obyektlər və məlumat strukturları yaratmağa və onları artıq lazım olmayanadək saxlamağa imkan verir. Məsələn, iOS-də Objective-C və ya Swift obyektləri adətən heap-də ayırılır və yaddaş idarəetməsi ARC (Avtomatik Referans 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: "Иван") // obyekt heap-də yaradılır

Burada, Person obyekti heap-də yaradılır və person dəyişəni bu obyektə istinad edir.