Título: Una duda muy simple Publicado por: Bob1098 en 7 Agosto 2014, 11:27 am Hola. Tengo una pregunta bastante simple, y es la siguiente:
Cuando declaro una variable (por ejemplo un int) en un bucle for, esa variable esta solo disponible dentro de este bucle, pero una vez acaba el bucle la variable se queda en la memoria? En ese caso si por ejemplo hacemos uso de varios bucles en un programa con varios "int", estamos consumiendo más memoria que si usamos solo un int para todos los bucles no? Es una pregunta muy tonto, pero me gustaría saber la respuesta :) Título: Re: Publicado por: ivancea96 en 7 Agosto 2014, 11:49 am Está solo disponible dentro del bucle, y al salir de él, se libera la memoria. Igual que dn una función.
Título: Re: Una duda muy simple Publicado por: eferion en 7 Agosto 2014, 12:05 pm Código
En el ejemplo anterior hay dos variables, i y valor.
Fuera del bucle, por tanto, no existirá ninguna de estas dos variables. Si accedieses a las posiciones de memoria donde estaban ubicadas puede que aún se mantenga el último valor que tenían dichas variables... pero la memoria no está reservada y, por tanto, no está asegurado que puedas recuperar dicho valor. Título: Re: Una duda muy simple Publicado por: Bob1098 en 8 Agosto 2014, 16:08 pm Es decir, que resulta casi más practico utilizar vairables dentro del bucle que usar variables globales, me equivoco? Aunque en realidad se esta haciendo el mismo uso de memoria, pero he oído por ahí que es una costumbre muy mala usar variables globales si no es necesario. Gracias por las respuestas.
Título: Re: Una duda muy simple Publicado por: ivancea96 en 8 Agosto 2014, 16:51 pm Simplemente, usa cada cosa en su momento.
Si sólo usarás el índice del bucle como contador DENTRO del bucle, pues se inicializa en el for. Si lo necesitas fuera, pues lo inicializas fuera. Como dato, te digo que puedes hacer esto: Código
Puedes poner cuando quieras un par de llaves. Las variables que haya dentro de las llaves, desaparecerán cuando se cierren. Título: Re: Una duda muy simple Publicado por: Bob1098 en 8 Agosto 2014, 18:54 pm Simplemente, usa cada cosa en su momento. Si sólo usarás el índice del bucle como contador DENTRO del bucle, pues se inicializa en el for. Si lo necesitas fuera, pues lo inicializas fuera. Como dato, te digo que puedes hacer esto: Código
Puedes poner cuando quieras un par de llaves. Las variables que haya dentro de las llaves, desaparecerán cuando se cierren. Interesante, no sabia que se podía hacer eso. Supongo que ya he aprendido algo más sobre c++. Gracias por la respuesta :) |