Requisits previs : Àmbit de les variables , Funcions en C++
En els llenguatges de programació C++, una variable és un nom proporcionat a la memòria per emmagatzemar diferents tipus de dades. Els valors de les variables poden canviar en qualsevol moment mentre s'executa el programa i cada variable té el seu propi àmbit (o regió) on és vàlid accedir a la variable utilitzant el nom que se li ha donat.
En programació, les variables no són totes iguals. El seu abast, vida útil i accessibilitat al programa depenen d'on i com es declarin. Hi ha dos tipus de variables segons el seu abast.
- Variable local: l'abast d'aquestes variables només existeix dins del bloc en què es declara la variable. és a dir, només podem accedir a aquesta variable dins d'aquest bloc. Variable global: les variables globals són un tipus especial amb l'abast més ampli possible. Es declara fora de totes les funcions i blocs, a la part superior del programa. S'hi pot accedir des de qualsevol part del programa.
Variable global en C++
Les variables globals són les variables que es declaren fora de qualsevol funció o classe i es pot accedir des de qualsevol part del programa. Generalment es declaren al començament del fitxer font després del fitxer de capçalera. Estan disponibles durant tota la vida útil d'un programa i són accessibles des de qualsevol lloc del programa.
Declaració d'una variable global en C++
Per crear una variable global, simplement la declarem a la part superior del fitxer font, després dels fitxers de capçalera i abans de la funció principal. En C++, totes les variables s'han de declarar abans d'utilitzar-les.
Exemple 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;> }> |
unix crear directori
>
>Sortida
10>
Explicació
- En aquest exemple, `x` és una variable global que pot emmagatzemar un valor enter.
- S'inicialitza a 10 quan s'inicia el programa.
- Com que es declara fora de qualsevol funció o classe, qualsevol funció o classe del programa pot accedir-hi i modificar-la.
Ara, algú podria preguntar-se per què voldríeu utilitzar variables globals al vostre programa.
Exemple 2
C++
com tancar el mode de desenvolupador
// 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();> }> |
>
>Sortida
10 ml és quant
5 10>
Explicació
- En aquest exemple, 'int global' és una variable global que emmagatzema un valor enter.
- Es va inicialitzar amb 5 quan es va iniciar el programa.
- Després d'aquesta trucada es dirigeix a la funció principal i després crida a la funció de visualització que imprimeix la variable global.
- Després d'imprimir 5, el valor de la variable global es canvia a 10. Ara es torna a cridar la funció de visualització i s'imprimeix el nou valor de la variable global 10.
Avantatges de l'ús de variables globals
A continuació es mostren alguns dels principals beneficis que proporcionen les variables globals:
- Totes les funcions poden accedir directament a la variable global sense passar cap argument al programa.
- Les variables globals són molt útils quan moltes funcions accedeixen a la mateixa variable.
- La variable global només requeria una declaració única al programa.
Inconvenients de l'ús de variables globals
Les variables globals també tenen alguns inconvenients. Alguns d'ells són:
- De vegades, la variable global pot provocar problemes de conflicte, ja que diversos programes intenten modificar-los al mateix temps, generalment en programes multifils.
- De vegades pot provocar una ombra variable.
- Les variables globals poden fer que el codi sigui menys llegible i menys fàcil de mantenir.
- A més, hi ha alguns problemes de seguretat i errors, ja que es poden modificar o accedir a qualsevol part del programa.
- De vegades, si utilitzeu un nombre més gran a la variable global, hi ha una gran probabilitat d'error al programa.
Conclusió
Les variables globals són molt útils però 'difícils de rastrejar' en el llenguatge de programació C++. Són útils perquè podem accedir a la mateixa variable en qualsevol part del programa, però s'ha d'utilitzar de manera que no faci que el codi sigui menys llegible i menys fàcil de mantenir, i també tingui cura dels aspectes de seguretat. Per tant, es recomana utilitzar variables globals rarament i amb cura i preferir variables locals o altres alternatives sempre que sigui possible.