Dev - C++ - Variables estáticas

 
Vista:

Variables estáticas

Publicado por Marco (3 intervenciones) el 18/04/2007 00:08:01
Hola, estoy desarrollando en C++ sobre QNX Neutrino, estoy utlizando g++ del grupo de compiladores de GCC 3.3.5.

El problema es el siguiente y ya no sé que hacer porque nunca me había ocurrido algo como esto.

Supongan que tengo una función void Compute(void) donde hay un segmento de código similiar al siguiente

void Compute(void) {
static bool init = false;

if(!init) {
// Código
init = true;
}

// Mas código

}

Si yo llamo a Compute muchas veces, yo esperaría que sólamente la primer vez sea verdadera la condición de !init, sin embargo esto no ocurre, cada vez que invoco a Compute el valor de init vuelve a ser false.

No he encontrado solución a este problema, cuando descubrí este problemita me fui a inspeccionar otros archivos donde también utilizo variables estáticas (esas de tipo numérico) y me encuentro con el mismo problema de que la variable no conserva el último valor que tomó.

Saludos y gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder