Junior
Linklərin yığımda saxlanması nə deməkdir?
sobes.tech Süni İntellekt
AI-dan cavab
Yerli dəyər dəyişənləri (növlər Int, Bool, Double, String, Struct, Enum), funksiyanın içində yaradıldıqda, yığında saxlanılır. Yığın, yerli dəyişənlər, funksiyanın parametrləri və dönüş ünvanları üçün istifadə olunan yaddaş sahəsidir. O, LIFO (Last In, First Out) prinsipi ilə işləyir.
İş prinsipi:
- Yerləşdirmə: Funksiya çağırıldıqda, yığın çərçivəsi yaradılır. Bu funksiyanın yerli dəyər dəyişənləri bu çərçivəyə yerləşdirilir.
- Əlçatanlıq: Yığında dəyişənlərə giriş çox sürətlidir, çünki onların ünvanları yığın göstəricisinə nisbətən müəyyən edilir.
- Azad etmə: Funksiya icrasını bitirdikdə, onun yığın çərçivəsi (və içindəki bütün dəyişənlər) sadəcə yığının üstündən silinir.
Nümunə:
func processNumbers() {
var number1: Int = 10 // number1 yığında saxlanılır
let number2: Double = 20.5 // number2 yığında saxlanılır
// ... number1 və number2 istifadə ediləcək
} // processNumbers funksiyasından çıxanda, number1 və number2 yığından silinir
Referens tiplər (Class, Actor) ilə müqayisədə, onların nümunələri yığında deyil, yerdə saxlanılır və yığında bu nümunəyə istinad saxlanılır.