Sobes.tech
Junior — Middle

პროგრამირებაში სტატიკური ცვლადის და ჩვეულებრივი ცვლადის შორის რა განსხვავებაა?

sobes.tech AI

პასუხი AI-სგან

სტატიკური ცვლადი განსხვავდება ჩვეულებრივი იმით, რომ ის ინახავს თავის მნიშვნელობას ფუნქციის გამოძახებებს შორის ან მთელი პროგრამის მუშაობის განმავლობაში, მაშინ როდესაც ჩვეულებრივი ცვლადი ყოველი გამოძახებისას თავიდან იქმნება და გამოდის საზღვრიდან.

მაგალითად, Swift-ში, სტატიკური ცვლადი კლასის ან სტრუქტურის შიგნით მიეკუთვნება თავად ტიპს, არა ინстанციას, და არსებობს ერთეულ ინстанციაში:

class Counter {
    static var totalCount = 0
    var count = 0

    func increment() {
        count += 1
        Counter.totalCount += 1
    }
}

let a = Counter()
a.increment()
print(a.count) // 1
print(Counter.totalCount) // 1

let b = Counter()
b.increment()
print(b.count) // 1
print(Counter.totalCount) // 2

აქ, count არის ჩვეულებრივი ინстанციის ცვლადი, ხოლო totalCount არის სტატიკური ცვლადი, რომელიც საერთოა ყველა ინстанციისთვის.