Yo para evitar globales en los casos en los que tenía que usar/modificar algún valor en múltiples funciones y el paso por referencia podía acabar siendo infernal empleaba un esquema del tipo:
tipo funcion (tipo v){
static tipo variable=NULL;
if(v==NULL) return variable;
else return variable=v;
}
(donde pongo NULL es o eso o cualqueir valor que no tenga sentido para el funcionamiento de "variable")
Luego el contenido de variable estará disponible en todo el código mediante funcion(NULL), lo malo es el gasto de memoria por ser una variable estática, aunque por otra parte dentro de función puede meterse el código que uno quiera para comprobar si el valor asignado es correcto o cosas así.
Evitando globales
(Puntos:2)( Última bitácora: Lunes, 29 Octubre de 2012, 18:48h )
tipo funcion (tipo v){
static tipo variable=NULL;
if(v==NULL) return variable;
else return variable=v;
}
(donde pongo NULL es o eso o cualqueir valor que no tenga sentido para el funcionamiento de "variable")
Luego el contenido de variable estará disponible en todo el código mediante funcion(NULL), lo malo es el gasto de memoria por ser una variable estática, aunque por otra parte dentro de función puede meterse el código que uno quiera para comprobar si el valor asignado es correcto o cosas así.