capypad
0 Tage Serie
cpp / beginner
Snippet

Statische Variablen in Funktionen

Eine statische Variable innerhalb einer Funktion behält ihren Wert zwischen Funktionsaufrufen bei, während sie lokal für diese Funktion bleibt. Im Gegensatz zu regulären lokalen Variablen, die bei jedem Funktionsaufruf erstellt und zerstört werden, werden statische Variablen nur einmal initialisiert und bleiben während der gesamten Lebensdauer des Programms bestehen. Dies macht sie nützlich zum Verfolgen, wie oft eine Funktion aufgerufen wurde.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
 
void counter() {
static int count = 0;
count++;
std::cout << "Count is: " << count << std::endl;
}
 
int main() {
counter();
counter();
counter();
return 0;
}
Erklärung
1
static int count = 0;
Statische lokale Variable, einmal initialisiert, bleibt zwischen Aufrufen
2
count++;
Erhöht den aufbewahrten Zählerwert bei jedem Aufruf
3
counter();
Erster Aufruf: count wird 1
4
counter();
Zweiter Aufruf: count wird 2, nicht auf 0 zurückgesetzt