Sobes.tech
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.