pasar a traves de referencia o punteros hace que no haga falta copiar el objeto.<br>mas velocidad y menos memoria.<br>David<br><br><div class="gmail_quote">El 23 de junio de 2009 15:27, Steven Davidson <span dir="ltr"><<a href="mailto:srd4121@njit.edu">srd4121@njit.edu</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="im">Hola Pedro,<br>
<br>
Pedro Rodríguez González wrote:<br>
</div><div class="im"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Gracias David y gracias a Steve...<br>
<br>
FUNCIONA SIN PROBLEMAS!!!<br>
<br>
</blockquote>
<br></div>
De nada; para eso estamos :)<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
MiContenedor Lista()<br>
{<br>
   MiContenedor MC;<br>
   ...<br>
   return MC;<br>
}<br>
...<br>
pero y si quisiera que me devolviera una referencia sin pasarle un<br>
argumento<br>
...<br>
 MiContenedor& Lista( /* MiContenedor &MC */ )<br>
 {<br>
    ...<br>
    return MC;<br>
 }<br>
<br>
</blockquote>
<br></div>
Lo único que serviría es que tal objeto exista fuera de la función. Esto sería, si el objeto es global o si creamos memoria dinámicamente. Por ejemplo,<br>
<br>
// Global<br>
MiContenedor MC;<br>
<br>
MiContenedor& Lista()<br>
{<br>
  ...<br>
  return MC;<br>
}<br>
<br>
Claro que si hacemos esto, no hay necesidad de retornar nada, porque 'MC' es global.<br>
<br>
<br>
Con la otra opción, tenemos lo siguiente:<br>
<br>
MiContenedor& Lista()<br>
{<br>
  MiContenedor *pMC = new MiContenedor;<br>
  ...<br>
  return *pMC;<br>
}<br>
<br>
Con esto último, tenemos que liberar la memoria en algún momento de nuestro programa. Ninguno de estos casos es recomendable.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
...<br>
...<br>
Queda otra opción, alguna idea? de todas formas escapo con ese arreglo... pero lo ideal sería lo segundo propuesto<br>
<br>
</blockquote>
<br></div>
No veo por qué dices que es ideal retornar una referencia a un objeto. En C++, nos es igual tratar un objeto directamente que a través de una referencia. Recuerda que una referencia no es más que otro nombre alternativo - un sobrenombre. Esto significa que el objeto debe existir en alguna parte.<br>

<br>
Ahora bien, si requieres polimorfismo, entonces debes tratar los objetos a través de una referencia o de un puntero. Pero sospecho que esto no es el caso.<br>
<br>
<br>
Espero haber aclarado el tema.<div><div></div><div class="h5"><br>
<br>
Steven<br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net" target="_blank">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>(")_(")signature to help him gain world domination. <br><br>