Prerequisiti : Ambito delle variabili, Funzioni in C++
Nei linguaggi di programmazione C++, una variabile è un nome fornito alla memoria per archiviare diversi tipi di dati. I valori delle variabili possono cambiare in qualsiasi momento durante l'esecuzione del programma e ciascuna variabile ha il proprio ambito (o regione) in cui è valido accedere alla variabile utilizzando il nome che le è stato assegnato.
Nella programmazione le variabili non sono tutte uguali. La loro portata, durata e accessibilità nel programma dipendono da dove e come vengono dichiarati. Esistono due tipi di variabili in base al loro ambito.
- Variabile locale: l'ambito di queste variabili esiste solo all'interno del blocco in cui è dichiarata la variabile. cioè possiamo accedere a questa variabile solo all'interno di quel blocco. Variabile globale: le variabili globali sono un tipo speciale con l'ambito più ampio possibile. Viene dichiarato all'esterno di tutte le funzioni e blocchi, nella parte superiore del programma. È possibile accedervi da qualsiasi parte del programma.
Variabile globale in C++
Le variabili globali sono le variabili dichiarate all'esterno di qualsiasi funzione o classe e a cui è possibile accedere da qualsiasi parte del programma. Generalmente vengono dichiarati all'inizio del file sorgente dopo il file header. Sono disponibili per tutta la durata di un programma e accessibili da qualsiasi punto del programma.
Dichiarazione di una variabile globale in C++
Per creare una variabile globale, la dichiariamo semplicemente all'inizio del file sorgente, dopo i file header e prima della funzione principale. In C++, tutte le variabili devono essere dichiarate prima dell'uso.
Esempio 1
C++
// C++ Program to illustrate Global Variable> // header files> #include> using> namespace> std;> > // global variable> int> x = 10;>// x is a global variable initialized to 10> > // main function> int> main()> {> >cout << x;> >return> 0;> }> |
java int per raddoppiare
>
>Produzione
10>
Spiegazione
- In questo esempio, 'x' è una variabile globale che può memorizzare un valore intero.
- Viene inizializzato a 10 all'avvio del programma.
- Poiché è dichiarato all'esterno di qualsiasi funzione o classe, è possibile accedervi e modificarlo da qualsiasi funzione o classe nel programma.
Ora, qualcuno potrebbe chiedersi perché vorresti utilizzare variabili globali nel tuo programma.
Esempio 2
C++
monitor a tubo catodico
// C++ program to illustrate> // usage of global variables> #include> using> namespace> std;> > // global variable> int> global = 5;> > // global variable accessed from> // within a function> void> display() { cout << global << endl; }> > // main function> int> main()> {> >display();> > >// changing value of global> >// variable from main function> >global = 10;> >display();> }> |
>
>
elenco ordinato per JavaProduzione
5 10>
Spiegazione
- In questo esempio 'int global' è una variabile globale che memorizza un valore intero.
- Si è inizializzato con 5 all'avvio del programma.
- Successivamente la chiamata va alla funzione principale e quindi chiama la funzione di visualizzazione che stampa la variabile globale.
- Dopo aver stampato 5, il valore della variabile globale viene cambiato in 10. Ora viene richiamata nuovamente la funzione di visualizzazione e viene stampato il nuovo valore della variabile globale 10.
Vantaggi dell'utilizzo delle variabili globali
Di seguito sono riportati alcuni vantaggi principali offerti dalle variabili globali:
- È possibile accedere direttamente alla variabile globale da tutte le funzioni senza passare un argomento nel programma.
- Le variabili globali sono molto utili quando molte funzioni accedono alla stessa variabile.
- La variabile globale richiedeva solo una dichiarazione una tantum nel programma.
Svantaggi dell'utilizzo delle variabili globali
Le variabili globali presentano anche alcuni inconvenienti. Alcuni di loro sono:
- A volte la variabile globale può causare problemi di conflitto poiché più programmi tentano di modificarla contemporaneamente, generalmente nei programmi multithreading.
- A volte può portare a ombreggiature variabili.
- Le variabili globali possono rendere il codice meno leggibile e meno gestibile.
- Inoltre, ci sono alcuni problemi di sicurezza e di bug poiché possono essere modificati o accessibili da qualsiasi parte del programma.
- A volte se si utilizza un numero maggiore nella variabile globale c'è un'alta probabilità di errore nel programma.
Conclusione
Le variabili globali sono variabili molto utili ma “difficili da tenere traccia” nel linguaggio di programmazione C++. Sono utili perché possiamo accedere alla stessa variabile in qualsiasi parte del programma ma deve essere utilizzata in modo da non rendere il codice meno leggibile e meno manutenibile e curare anche gli aspetti di sicurezza. Pertanto, si suggerisce di utilizzare le variabili globali raramente e con attenzione e di preferire variabili locali o altre alternative quando possibile.