gracias por las respuestas
me quedo con los metodos ocultos por cuestion de tiempo, aunque lo del boost parece interesante para investigar en un futuro!
saludos

--------------------------------------------------
From: "Leandro Lucarella" <[EMAIL PROTECTED]>
Sent: Thursday, August 21, 2008 12:37 AM
To: "Una lista para consultas deprogramación" <[email protected]>
Subject: Re: [Prog] ayuda con diseño

Juan Alejandro Knight, el 20 de agosto a las 22:41 me escribiste:
   pense en una posibilidad que no se sobrecargue los operator= y CC y
   manteniendo un contador de referencias, pero ahi el problema es que se
   "rompe" el signature del constructor de copia posta
   seria algo como
   Class(Class &)
   el const no va porque al hacer una copia incrementaria el numero de
   referencias
   esto asi no va

Más allá de cualquier juicio de valor sobre esta solución, para este tipo
de chanchadas existe mutable:

struct A { mutable int x; };

void f(const A& a) { a.x = 5; }

A a;
f(a);

Compila y anda. Igual si vas a usar un contador de referencia, el contador
en sí debería ser "global", no de instancia, porque si no actualizás el
contador de una instancia pero todas las demás "instancias" que apuntan al
mismo nodo XML no ven el contador "actualizado". Así que ni siquiera
debería ser necesario usar mutable.

   lo unico que se me ocurre es poner como privados el op= y CC y viva la
   pepa
   fuerzo a usar punteros

Es una solución muy común y que me parece ampliamente más elegante que
usar mutable y tener el overhead del conteo de referencias (si no
necesitás semántica de compia). De hecho a este tipo de clases se les
llama non-asignable y non-copiable y son conceptos comunes que define la
STL.


--
Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/
----------------------------------------------------------------------------
GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145  104C 949E BFB6 5F5A 8D05)
----------------------------------------------------------------------------
Karma police
arrest this girl,
her Hitler hairdo
is making me feel ill
and we have crashed her party.




_______________________________________________
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