Sobes.tech
Junior

Co się stanie, jeśli zadeklarujesz zmienną globalną z modyfikatorem static?

sobes.tech AI

Odpowiedź od AI

Zasięg widoczności będzie ograniczony do granic pliku, w którym jest zadeklarowany. Zmienna będzie widoczna tylko w tym pliku.

Cykl życia pozostanie taki sam: zmienna zostanie utworzona podczas uruchomienia programu i zniszczona po jego zakończeniu.

Przykład:

// plik1.cpp
static int globalStaticVar = 10;

void func1() {
    // Dostęp do globalStaticVar możliwy
    globalStaticVar++;
}
// plik2.cpp
extern int globalStaticVar; // Błąd kompilacji: globalStaticVar jest niewidoczna

void func2() {
    // Dostęp do globalStaticVar niemożliwy
}