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՝ ստատիկ փոփոխական, որը համատեղ է բոլոր օրինակների միջև։