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
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