¿Cuál es la vida útil de una variable?

Lifetime define durante cuánto tiempo la variable sería válida, es decir, sería existente y se puede usar de forma segura. Por ejemplo, todas las variables definidas dentro de una función tienen una vida útil que se extiende dentro del cuerpo de esa función, y luego existen desde el momento en que la función comienza a ejecutarse y hasta que la función termina su ejecución. Estas variables se asignan memoria en la pila, la pila se desenrolla al regresar de una función y, por lo tanto, estas variables se destruyen en ese momento

Por ex

Vacío foo ()
{
int a = 0;
a = a + 10
cout >> a;
}

En la función anterior, el entero a se crea tan pronto como se llama a la función y se destruye después de que se ejecuta la última instrucción. Es por eso que si devuelve la dirección de a de esta función e intenta usarla, vería un comportamiento indefinido ya que la memoria utilizada por a ya está marcada para su eliminación.

Sin embargo, las variables estáticas y las variables asignadas a la memoria dinámicamente no se asignan en la pila y, por lo tanto, su vida útil es mayor que la vida útil del método en el que se llaman. Devolver las direcciones fuera de una función es válido ya que no dejan de existir en el retorno de la función

int * foo ()
{
int a = 10;
estático int b = 10;
// volver & a; // daría como resultado un comportamiento indefinido
volver & b; // está bien
}

More Interesting

¿Cuál es la única matemática que uno debe aprender para codificar?

¿Qué pasaría si alguien prueba P = NP o P! = NP?

¿Cuáles son las diferencias en las consecuencias entre el principio tautológico de elección demostrable en la teoría de tipos y el axioma completo de elección?

¿Podríamos usar la definición de integración de suma de Riemann para obtener las integrales de cualquier función polinómica o trascendental?

¿Cómo puedes escribir en C una función que devuelve el punto fijo de una función?

Si [matemática] f (5) = 12 [/ matemática] y [matemática] f (10) = 18 [/ matemática] ¿qué significa [matemática] f (20) =? [/ Matemática] Cuándo (a) [matemática] f [/ math] es una función exponencial y (b) [math] f [/ math] es una función de potencia?

¿Cuál es la mejor manera de encontrar números amistosos hasta N?

¿Es útil aprender Matemática discreta antes de la informática?

¿Cuál es la diferencia entre la lógica temporal y el cálculo del proceso?

¿Cómo convertiría un número binario en un número decimal en la menor complejidad de tiempo?

¿Quiénes son los equipos más notables que trabajan para resolver el problema P vs NP?

Para un número binario [matemático] n [/ matemático], ¿cuál es la probabilidad de que los dígitos contengan 1 consecutivos? Por ejemplo, un número binario de 3 dígitos tiene 8 posibilidades, y 110, 011 y 111 son los 3 escenarios donde hay 1s consecutivos.

¿Cómo nos ayuda la informática a comprender mejor el universo?

¿Quién comenzó la informática?

¿Cuál es el número más grande que puede generar con un procesador de 64 bits?