Estas pasando referencias (punteros) por valor. Pero es por valor.
Veo mucho cacao mental por aquí. Y eso es que me teneis abandonado el C y se os ha ablandado la sesera;).
Si se pasa la referencia (puntero) de un objeto, variable o estructura (como querais llamarlo) se está realizando una llamada "por referencia", ya que lo que se pasa es la referencia a la información que se quiere tratar. La propia palabra lo indica y tu frase como ves es contradictoria.
En realidad, no existen 2 tipos de pasos de parámetros: Siempre se pasa información. Lo que ocurre que cuando esa información referencia (apunta) a la información que queremos tratar se le llama "paso por referencia", y cuando esa información es precisamente el valor que queremos tratar se llama "paso por valor".
De este modo cuando pasamos un puntero, solo lo consideramos paso por valor cuando en la función lo que nos interesa precisamente es esa dirección de memoria que pasamos, no su contenido (no lo usamos como referencia, sino como valor).
En JAVA, salvo los tipos primitivos (int, char...) todos los parámetros se pasan por referencia.
Re:Sobre Java lento en programas de escritorio
(Puntos:2)La verdad es que aunque ellos indiquen que es por valor, también tiene sentido tu comentario.
Avengers Assemble!!
¿qué?
(Puntos:2)( http://web.iesrodeira.com | Última bitácora: Sábado, 25 Abril de 2009, 19:50h )
Veo mucho cacao mental por aquí. Y eso es que me teneis abandonado el C y se os ha ablandado la sesera
Si se pasa la referencia (puntero) de un objeto, variable o estructura (como querais llamarlo) se está realizando una llamada "por referencia", ya que lo que se pasa es la referencia a la información que se quiere tratar. La propia palabra lo indica y tu frase como ves es contradictoria.
En realidad, no existen 2 tipos de pasos de parámetros: Siempre se pasa información. Lo que ocurre que cuando esa información referencia (apunta) a la información que queremos tratar se le llama "paso por referencia", y cuando esa información es precisamente el valor que queremos tratar se llama "paso por valor".
De este modo cuando pasamos un puntero, solo lo consideramos paso por valor cuando en la función lo que nos interesa precisamente es esa dirección de memoria que pasamos, no su contenido (no lo usamos como referencia, sino como valor).
En JAVA, salvo los tipos primitivos (int, char
Xavi.