Junior — Middle
Was ist der Unterschied zwischen einer statischen Variablen und einer normalen Variablen in der Programmierung?
sobes.tech KI
Antwort von AI
Eine statische Variable unterscheidet sich von einer normalen Variable dadurch, dass sie ihren Wert zwischen Funktionsaufrufen oder während der gesamten Programmlaufzeit beibehält, während eine normale Variable bei jedem Aufruf neu erstellt wird und nach Verlassen des Gültigkeitsbereichs zerstört wird.
Zum Beispiel gehört in Swift eine statische Variable innerhalb einer Klasse oder Struktur zum Typ selbst und nicht zu einer Instanz, und sie existiert in einer einzigen Instanz:
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
Hier ist count eine normale Instanzvariable, und totalCount ist eine statische Variable, die für alle Instanzen der Klasse gemeinsam ist.