C++ Alcance variable
Ahora que comprende cómo funcionan las funciones, es importante aprender cómo actúan las variables dentro y fuera de las funciones.
En C++, solo se puede acceder a las variables dentro de la región en la que se crean. Esto se llama alcance.
Ámbito local
Una variable creada dentro de una función pertenece al alcance local de esa función y solo se puede usar dentro de esa función:
Ejemplo
void myFunction() {
// Variable local que pertenece a myFunction
int x = 5;
// imprimir la variable x
cout << x;
}
int main() {
myFunction();
return 0;
}
Inténtalo tú mismo »
Una variable local no se puede utilizar fuera de la función a la que pertenece.
Si intentas acceder fuera de la función, se produce un error:
Ejemplo
void myFunction() {
// Variable local que pertenece a myFunction
int x = 5;
}
int main() {
myFunction();
// Imprime la variable x en la función principal
cout << x;
return 0;
}
Inténtalo tú mismo »
Alcance global
Una variable creada fuera de una función se llama variable global y pertenece al alcance global.
Las variables globales están disponibles desde cualquier ámbito, global y local:
Ejemplo
Una variable creada fuera de una función es global y, por lo tanto, puede ser utilizada por cualquier persona:
// variable global x
int x = 5;
void myFunction() {
// Podemos usar x aquí
cout << x << "\n";
}
int main() {
myFunction();
// También podemos usar x aquí
cout << x;
return 0;
}
Inténtalo tú mismo »
Nombrar variables
Si opera con el mismo nombre de variable dentro y fuera de una función, C++ las tratará como dos variables separadas; Uno disponible en el ámbito global (fuera de la función) y otro disponible en el ámbito local (dentro de la función):
Ejemplo
La función imprimirá el x
local, y luego el código imprimirá el global x
:
// Variable global x
int x = 5;
void myFunction() {
// Variable local con el mismo nombre que la variable global (x)
int x = 22;
cout << x << "\n"; // Se refiere a la variable local x
}
int main() {
myFunction();
cout << x; // Se refiere a la variable global x
return 0;
}
Inténtalo tú mismo »
Sin embargo, debe evitar utilizar el mismo nombre de variable tanto para las variables globales como para las locales, ya que puede generar errores y confusión.
En general se debe tener cuidado con las variables globales, ya que se puede acceder a ellas y modificarlas desde cualquier función:
Ejemplo
Change the value of x
from myFunction
:
// Variable global x
int x = 5;
void myFunction() {
cout << ++x << "\n"; // Incrementa el valor de x en 1 e imprimelo
}
int main() {
myFunction();
cout << x; // Imprime la variable global x
return 0;
}
// El valor de x ahora es 6 (ya no es 5)
Inténtalo tú mismo »
Conclusión
En resumen, utilice variables locales (con buenos nombres de variable) tanto como pueda. Esto hará que su código sea más fácil de mantener y de comprender mejor. Sin embargo, puede encontrar variables globales cuando trabaja en programas C++ existentes o cuando colabora con otros. Por lo tanto, es bueno comprender cómo funciona el alcance y cómo usarlo de manera efectiva para asegurarse de que su código sea claro y funcional.