capypad
0 Tage Serie
cpp / beginner
Snippet

Statische lokale Variablen: Zustand bewahren

Eine statische lokale Variable behält ihren Wert zwischen Funktionsaufrufen bei. Im Gegensatz zu normalen lokalen Variablen, die zerstört werden wenn die Funktion endet, bleiben statische Variablen erhalten. Dieser Zähler gibt 1, 2, 3 über drei separate Aufrufe von counter() aus.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
void counter() {
static int callCount = 0;
callCount++;
std::cout << "Function called " << callCount << " times" << std::endl;
}
 
int main() {
counter();
counter();
counter();
return 0;
}
Erklärung
1
static int callCount = 0;
Statische Variable, einmal initialisiert, bleibt über alle Aufrufe erhalten
2
callCount++;
Erhöht den erhaltenen Zähler jedes Mal wenn die Funktion ausgeführt wird