Sobes.tech
Junior — Middle

Quelle est la différence entre une variable statique et une variable normale en programmation?

sobes.tech IA

Réponse de l'IA

Une variable statique diffère d'une variable ordinaire en ce qu'elle conserve sa valeur entre les appels de fonction ou pendant toute la durée de l'exécution du programme, alors qu'une variable ordinaire est recréée à chaque appel et détruite après la sortie de la portée.

Par exemple, en Swift, une variable statique à l'intérieur d'une classe ou d'une structure appartient au type lui-même, et non à une instance, et existe en une seule instance :

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

Ici, count est une variable d'instance normale, et totalCount est une variable statique, partagée par toutes les instances de la classe.