... sobre el uso de variables o valores por referencia. Ya estuve buscando un rato en el pasado de éste foro y no encontré nada, posiblemente por que no se ha tocado el tema...
¿Alguien de los presentes sería tan amable de explicarme qué, cómo, cuándo, por qué, dónde, para qué se utilizan éste tipo de variables?
Solicito una lección...
Comenzado por
TiammatMX
, sep 27 2011 10:29
6 respuestas en este tema
#1
Escrito 27 septiembre 2011 - 10:29
#3
Escrito 27 septiembre 2011 - 11:01
:cool:http://es.wikipedia.org/wiki/Variable_estad%C3%ADstica
#4
Escrito 27 septiembre 2011 - 11:20
... sobre el uso de variables o valores por referencia...
Gracias, EduardoCol..., ¿y para Delphi, no tenemos nada? Perdón por no aclarar antes...
#6
Escrito 27 septiembre 2011 - 12:27
Básicamente, pasar un parámetro por valor es pasar una copia de dicho parámetro. Es la forma mas habitual de uso. Presenta dos características:
1.- El programa debe crear una copia antes de pasar el parámetro con la pérdida de tiempo (mínima) que suponga.
2.- La función o procedimiento que lo va a tratar no puede modificarlo, con lo que aseguramos la "estanqueidad".
El paso por referencia es equivalente a pasar un puntero a dicho parámetro es más rápido y permite que la función o procedimiento que lo trata, lo pueda modificar.
Dicho esto, la utilidad de cada método se encontrará en cada momento y necesidades del código. Cuando una función debe devolver mas de un resultado, generalmente se usan parámetros por referencia para devolver dichos resultados.
Saludos.
1.- El programa debe crear una copia antes de pasar el parámetro con la pérdida de tiempo (mínima) que suponga.
2.- La función o procedimiento que lo va a tratar no puede modificarlo, con lo que aseguramos la "estanqueidad".
El paso por referencia es equivalente a pasar un puntero a dicho parámetro es más rápido y permite que la función o procedimiento que lo trata, lo pueda modificar.
Dicho esto, la utilidad de cada método se encontrará en cada momento y necesidades del código. Cuando una función debe devolver mas de un resultado, generalmente se usan parámetros por referencia para devolver dichos resultados.
Saludos.
#7
Escrito 27 septiembre 2011 - 01:22
Por lo que sé, básicamente un objeto se pasa siempre por referencia, pero cuando son variables, tu decides al definir la funcion si quieres que esta pueda modificar el valor de la variable pasada (añades var al declarar el parámetro de tu función) o lo dejas sin el "var" con lo que se pasa una copia del valor, y cualquier cambio dentro de la función no afecta a la variable que le pasaste desde fuera de la función.
Yo uso por ejemplo para que una función me pueda devolver muuuchos valore,s dejo el tipo a boolean para marcar solo si hubo problemas o si todo fue bien, y el resto de resultados los devuelvo en las variables pasadas por referencia.
Yo uso por ejemplo para que una función me pueda devolver muuuchos valore,s dejo el tipo a boolean para marcar solo si hubo problemas o si todo fue bien, y el resto de resultados los devuelvo en las variables pasadas por referencia.
delphi
a:= sin(a); //pasas el valor en radianes, obtienes el seno de esos radianes. RadianesToSin(a); //Hace lo mismo, y si falla devuelve false. //Puede usarse asi if not RadianesToSin(a) then msg('Problemas calculando el seno.'); //La funcion la declaras usando "var" delante de CADA variable que quieras modificar //La variable "v" ES la misma que la "a" que le pasas, a nivel de valor y de puntero. function RadianesToSin(var v: double): boolean; begin try v:= sin(v); result:= true; except result:= false; end; end;