Junior — Middle
Care este diferența dintre o variabilă statică și o variabilă obișnuită în programare?
sobes.tech AI
Răspuns de la AI
O variabilă statică diferă de o variabilă obișnuită prin faptul că își păstrează valoarea între apelurile funcției sau pe durata întregii execuții a programului, în timp ce o variabilă obișnuită este recreată la fiecare apel și distrusă după ieșirea din domeniu.
De exemplu, în Swift, o variabilă statică din interiorul unei clase sau structuri aparține tipului în sine, nu instanței, și există într-o singură instanță:
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
Aici, count este o variabilă obișnuită de instanță, iar totalCount este o variabilă statică, comună pentru toate instanțele clasei.