En la programación de computadora, una variable global es una variable que es accesible en cada alcance . Los mecanismos de la interacción con variables globales se llaman los mecanismos del ambiente global (véase también el estado global ). El paradigma del ambiente global se pone en contraste con el paradigma del ambiente local, donde están el todas las variables local sin la memoria compartida (y por lo tanto todas las interacciones se pueden reconducted al mensaje que pasa ).
Generalmente se consideran mala práctica exacto debido a su nonlocality: una variable global se puede potencialmente modificar de dondequiera, y cualquier parte del programa puede depender de ella. Una variable global por lo tanto tiene un potencial ilimitado para crear dependencias mutuas, y el adición de dependencias mutuas aumenta complejidad. Ver la acción en una distancia . Sin embargo, en algunos casos, las variables globales pueden ser convenientes para el uso. Por ejemplo, pueden ser utilizadas para evitar tener que pasar variables frecuente-usadas continuamente a través de varias funciones.
Las variables globales se utilizan extensivamente para pasar la información entre las secciones del código que no comparten un llamador/una relación del callee como los hilos de rosca y los tratantes concurrentes de la señal. Las idiomas donde cada archivo define un namespace implícito eliminan la mayor parte de los problemas considerados con idiomas con un namespace global que algunos problemas pueden persistir sin embargo sin la encapsulación apropiada. Sin la fijación apropiada (por ejemplo con un Mutex ), cifrar usar variables globales no será el Roscar-seguro.
Un ejemplo de una variable global en el C++ : del
incluir elPues la variable era global, no había necesidad de pasarla como parámetro para utilizarlo en una función además de la cañería. La variable global pertenece a cada función en el programa. La salida será: 3 5internacional = 3 globales; // esto es la variable global.
ChangeGlobal vacío () { = 5 globales; Referencia de // a la variable global en una función. }
cañería de la internacional () { std:: cout << global << endl; Referencia de // a la variable global en otra función. ChangeGlobal (); std:: cout << global << endl; vuelta 0; }
El uso de variables globales hace software más duro leer y entender. Puesto que cualquier código dondequiera en el programa puede cambiar el valor de la variable en cualquier momento, la comprensión del uso de la variable puede exigir el entender de una porción grande del programa. Hacen separando código en bibliotecas reutilizables más difícil porque muchos sistemas (tales como DLLs no apoya directo variables globales de la visión en otros módulos. Pueden llevar a los problemas del nombramiento porque una variable global hace un nombre peligroso utilizar para cualquier otra variable del alcance del local o del objeto. Una variable local del mismo nombre puede blindar la variable global del acceso, llevando otra vez a más difícilmente para entender código. El ajuste de una variable global puede crear los efectos secundarios que son duros de entender y de predecir. El uso de globals hace más difícil aislar unidades de código con objeto de la prueba de la unidad, así pueden contribuir directo a bajar la calidad del código.
.
| Random links: | Parkland, la Florida | Susto rojo | Prusia del sur | Amnesia de la niñez |