<div class="autopen"><div><br></div></div><div class="gmail_quote">2010/1/13  <span dir="ltr"><<a href="mailto:jferia@uci.cu">jferia@uci.cu</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im"> En mi opinión en C++ la mejor forma de pasar parámetros es hacerlo mediante<br>
 las referencias, una de las ventajas que tiene es que no permite que se pase<br>
 un parámetro con el valor null, otra es que dentro de la función se hace uso<br></div>
 de las variables de forma natural, sin necesidad del operador flecha, esto<div class="im"><br>
 permite olvidarse de si se están tratando una variable o una referencia.<br>
 Además a la hora de llamar la función no se necesita un tratamiento especial<br>
 como es el caso del operador & cuando se usan punteros.<br>
<br>
 Siempre y cuando no se necesite modificar el parámetro los más adecuado es<br>
 pasarlo como referencia constante, previniendo que en la función se<br>
 modifique el objeto asociado a la referencia.<br>

<br></div></blockquote><div><br></div><div>Gracias por tu aportación, que me clarifica bastante las cosas, ya que, en mi caso, no necesito modificar los valores que son argumento de mi función, pero los prefiero pasar por referencia porque así no se crea una "copia o clon temporal" de la variable.</div>

<div><br></div><div>Una pregunta de novato, sólo para estar seguro. La manera correcta de definir una función como tú dices (pasar los argumentos por referencia constante) ¿sería así: [ver línea siguiente]?</div><div><br>

</div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<font class="Apple-style-span" face="'courier new', monospace"><b>double mi_funcion(const unsigned long &k , const double &target) {</b></font></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<font class="Apple-style-span" face="'courier new', monospace"><b>...</b></font></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<font class="Apple-style-span" face="'courier new', monospace"><b>...</b></font></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">

<font class="Apple-style-span" face="'courier new', monospace"><b> } </b></font></blockquote><div><br></div><div> </div><div>Gracias a todos porque este foro me parece muy útil: se puede preguntar siendo un novato sin miedo a que te apedreen, y al mismo tiempo se puede aprender mucho leyendo algunas preguntas más avanzadas.</div>

<div><br></div><div>Un saludo.</div><div><br></div><div>--</div><div>Vicent</div></div>