Sobes.tech
Junior — Middle

Aký je rozdiel medzi statickou premennou a bežnou premennou v programovaní?

sobes.tech AI

Odpoveď od AI

Statická premenná sa od bežnej líši tým, že si zachováva svoju hodnotu medzi volaniami funkcie alebo počas celého behu programu, zatiaľ čo bežná premenná je pri každom volaní znovu vytvorená a po opustení rozsahu zaniká.

Napríklad, v Swift, statická premenná v rámci triedy alebo štruktúry patrí samotnému typu, nie inštancii, a existuje v jednom výskyte:

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

Tu je count bežná premenná inštancie, a totalCount je statická premenná, zdieľaná všetkými inštanciami triedy.