[C con Clase] DUDA CONTENEDOR
Steven Davidson
srd4121 en njit.edu
Mar Jun 23 20:39:32 CEST 2009
Hola David,
David fire wrote:
> pasar a traves de referencia o punteros hace que no haga falta copiar
> el objeto. mas velocidad y menos memoria.
Cierto. Pero en la práctica, la gran mayoría de los compiladores no
instancia dos objetos en un caso como éste. Por ejemplo,
MiContenedor Lista()
{
MiContenedor MC;
...
return MC;
}
int main()
{
MiContenedor mc = Lista();
...
}
El compilador instanciará el objeto 'MC', pero no instanciará el objeto
temporal retornado por 'Lista()'. Internamente, el compilador generará
las sentencias necesarias para que no ocurra. De hecho, posiblemente
algún compilador decidirá que sería óptimo no instanciar 'mc' y así sólo
instanciar el objeto una sola vez, en lugar de tres instanciaciones.
Hasta pronto,
Steven
Más información sobre la lista de distribución Cconclase