Программалоодо стек түшүнүгүн кантип түшүндүрөсүз?
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.