Le variabili globali in c plus plus
Una variabile globale è una variabile che puoi leggere in qualsiasi punto del programma.
Nel linguaggio C++ ogni variabile è visibile nel blocco di codice dove la variabile è dichiarata e nei blocchi più interni nidificati.
Quindi, per creare una variabile globale in C++ devi dichiararla nel blocco di istruzioni più esterno del programma.
Se in un blocco di codice interno dichiari una variabile con lo stesso nome, quest'ultima nasconde temporaneamente il valore della variabile globale. Quando il blocco di codice termina l'esecuzione, torna visibile il valore della variabile globale.
Ecco un codice di esempio
#include <iostream>
using namespace std;
int main()
{
int x=1;
int y=3;
if (x==1) {
int x=2;
int z=5;
cout << "x = " << x << endl;
cout << "y = " << y << endl;
cout << "z = " << z << endl;
}
cout << "x' = " << x << endl;
cout << "y' = " << y << endl;
return 0;
}
In questo programma sono dichiarate due variabili globali x=1 e y=3.
Nel blocco di codice if il programma legge il valore della variabile globale y=3.
Inoltre, viene dichiarata una variabile con lo stesso nome x=2 che nasconde temporaneamente la variabile globale x=1 e una variabile z=5.
Le variabili x=2 e z=5 sono variabili locali temporanee.
All'interno del blocco di codice programma stampa
x = 2
y = 3
z = 5
Quando termina l'esecuzione del blocco di codice if, le variabili temporanee x=2 e z=5 sono eliminate.
Il programma torna a vedere il valore della variabile globale e stampa x=1 e y=3
x' = 1
y' = 3
Al di fuori del blocco di codice if la variabile z non è invece più visibile.
Se la richiami, il programma genera un messaggio di errore.