On 6/7/07, personaje <[EMAIL PROTECTED]> wrote:



On 6/7/07, personaje <[EMAIL PROTECTED]> wrote:

>
> claro, ahora caigo, estás haciendo delete de la propia clase... no
> deberías hacer algo tipo
>

pregunta para los que saben... esto de hacer delete de la propia clase no
se puede/debe hacer no?

--


mmmmmmmmm..... esta haciendo con el metodo delete_instance, el delete de la
instancia estatica, desde un
metodo estatico, asique no debria haber drama, yo agregue estas lineas :

class Campo: public Singleton<Campo> {
public:
void set_tamanio(int x){ i = x ; cout << i << endl; };
private:

      int i;
      friend class Singleton<Campo>;

};


int main(int argc , char* argv[]){

Campo* miCampo = Campo::get_instance();
miCampo->set_tamanio(5);
Campo::delete_instance();

return 0;
}

y me anda bien.... mi compilador es este:
gcc version 4.2.0 20070105 (prerelease) (Debian 4.2-20070105-1)

pregunta : no estaras obteniendo el puntero cuando es valido y despues
llamando a tu delete_instance y despues usando elpuntero... porque ahi te
quedatse con un punetro muerto.
pregunta 2 : estas en un entorno multithreading?... lo estars borrando desde
otro lado haceindo que algun otro thread use un puntero invalido ?

pero hay algo que realmente no me gusta del diseño que hiciste y es esto:
Vos estas heredando del template singleton y le estas pasando como parametro
la clase hija (campo), por ende te quedan
metodos definidos en el padre (el template singleton) que usan la clase
hija... y un padre no deberia saber quien es que hereda de el... me expliko
????

no es la primera ves que veo esto para implementar un singleton.... pero en
mi opinion es un patada con carrera en los dientes :P

saludos....

nico.

v3sw6Chw5ln6pr7Ock3ma8u9Lw3Xm5l7Gi2Ce6t6Gb8Ten4g6OPa28s5Mr1p8
hackerkey.com
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion


_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a