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.