Las variables estáticas son definidas mediante el keyword static
, es una variable que retiene su valor incluso después de que la función en la que ha sido definida haya terminado de ejecutarse. Es decir, las variables estáticas conservan su estado para futuras llamadas a la función.
Variables estáticas en una función
Cuando se declara una variable estática dentro de una función, su ámbito es local a esa función, pero su duración es la vida completa del programa.
Lo que significa que la variable sigue con su valor actual incluso cuando la función no es llamada.
Variables estáticas en una clase
Cuando se declara una variable estática dentro de una clase, pero fuera de cualquier función miembro, esa variable se comparte entre todas las instancias de la clase. Esta característica es usada en la variables estáticas en la Programación Orientada a Objetos (POO).
Ventajas y desventajas de las variables estáticas
ventajas | desventajas |
---|---|
El valor de los datos persiste ante las diversas llamadas a funciones. | Visibilidad global, esto hace que solo responda a llamadas de funciones. |
La memoria es compartida debido a la gestión de recursos. | Puede consumir más memoria, si se hace un uso excesivo. |
Tiene una inicialización única, ahorrando tiempo y recursos. | Tiende a tener dependencia de estados, las funciones que dependen de las variables estáticas pueden tener un comportamiento impredecible si no es manejado correctamente el estado de cada variable. |