Buenos dias!<br><br>Estoy mirando ahora mismo el <a href="http://c.conclase.net/curso/index.php?cap=028">ejemplo "pareja"</a> del curso de C++. (<a href="http://c.conclase.net/curso/index.php?cap=028">http://c.conclase.net/curso/index.php?cap=028</a>)<br>
<br>En el mismo la funcion Lee que se declara en el exterior de la clase tiene el siguiente prototipo:<br><br><pre class="ejemplo">void pareja::Lee(int &a2, int &b2);</pre>
<br>Mi pregunta es porque se usan unas referencias alli en lugar de unos punteros, tiene alguna ventaja hacerlo asi? Es obligatorio si la funcion es declarada fuera de la clase? Lo digo porque creo recordar que lei por ahi que:<br>
Si la funcion no modifica las variables -> se pasa por valor<br>Si la funcion modifica las variables -> se pasa un puntero<br>Si la funcion no modifica las variables pero son muy grandes y no se quiere pasar una copia por motivos de eficiencia -> se pasa por referencia<br>
<br>Y en parte le veo razon a eso, ya que asi al leer la llamada de la funcion, si ves que estas pasando una direccion es que vas a modificarlo, en cambio si es por referencia como el cambio lo hace automatico puede hacer el codigo menos claro.<br>
<br>Bueno gracias por vuestro tiempo.<br><br><pre class="ejemplo"><font size="2"><font face="arial black,sans-serif"><br><br></font></font></pre>