Sobes.tech
Junior — Middle

Mi a különbség a statikus változó és a normál változó között a programozásban?

sobes.tech MI

Válasz az MI-től

A statikus változó azzal különbözik a szokásos változótól, hogy értékét megőrzi a függvényhívások között vagy a program teljes futása során, míg egy szokásos változó minden híváskor újra létrejön és a hatókör elhagyásakor megsemmisül.

Például Swiftben a statikus változó egy osztály vagy struktúra belsejében az adott típushoz tartozik, nem az példányhoz, és egyetlen példányban létezik:

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

Itt a count egy szokásos példányváltozó, míg a totalCount egy statikus változó, amely minden példány között megosztott.