Sobes.tech
Junior — Middle

Koja je razlika između statičke promenljive i obične promenljive u programiranju?

sobes.tech АИ

Одговор од АИ

Statična promenljiva se razlikuje od obične po tome što čuva svoju vrednost između poziva funkcije ili tokom celog trajanja rada programa, dok se obična promenljiva kreira iznova pri svakom pozivu i uništava nakon izlaska iz opsega.

Na primer, u Swift-u, statična promenljiva unutar klase ili strukture pripada samom tipu, a ne instanci, i postoji u jednom primeru:

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

Ovde, count je obična promenljiva instance, a totalCount je statička promenljiva, zajednička svim instancama klase.