[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