Junior — Middle
Kuo skiriasi statinė kintamoji nuo įprastos kintamosios programavime?
sobes.tech AI
Atsakymas iš AI
Statinė kintamoji skiriasi nuo įprastos tuo, kad ji išlaiko savo reikšmę tarp funkcijos kvietimų arba viso programos veikimo metu, o įprasta kintamoji kiekvieno kvietimo metu yra iš naujo sukurta ir po apimties pabaigos sunaikinama.
Pavyzdžiui, Swift'e, statinė kintamoji klasės ar struktūros viduje priklauso pačiam tipui, o ne egzemplioriui, ir egzistuoja viename egzemplioriuje:
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
Čia, count yra įprasta egzemplioriaus kintamoji, o totalCount yra statinė kintamoji, bendra visiems klasės egzemplioriams.