<< Parámetros por valor o por referencia >> |
En la mayoría de los lenguajes hay dos formas de pasar las variables a una función, por valor o por referencia.
Sin embargo toda esta diferencia queda escondida casi totalmente por el compilador, por lo que uno puede pasarse media vida programando sin darse cuenta de esto. |
|
En Quick Basic (QB/QBasic/...) sólo se puede pasar las variables por referencia. En muchos otros lenguajes ( C++/Pascal/Delphi/VB/ ...) se puede elegir, según se necesite. Como todo esto esta escondido por los compiladores entonces en general uno no se preocupa demasiado (a menos que se estén llamando a rutinas externas, por ejemplo de Windows). Lo grave es que en algunos casos produce errores muy difíciles de detectar. QB: En QB siempre se pasan los parámetros a funciones y subrutinas internas por referencia. Por eso en los casos problemáticos es necesario hacer una copia del valor de la variable recibida. Recién en VB5 y VB6 se puede usar la palabra ByVal para pedir que los parámetros se pasen por valor, y también se puede usar ByRef para indicar explícitamente que se los quiere pasar por referencia. En este caso se pueden escribir:
Pascal: El Pascal pasa normalmente los parámetros a funciones y subrutinas internas por valor. Se puede pedir que los pase por referencia agregando var antes de los nombres de los parámetros.
C/C++: Las distintas versiones de C pasan normalmente los parámetros a funciones y subrutinas internas por valor. Se puede pedir que los pase por referencia utilizando &. Otra forma de lograr lo mismo es usando punteros, para manejar la dirección de memoria de las variables directamente.
Ejemplos: Para ver el tipo de cosas que se pueden hacer y el tipo de cosas raras que pueden aparecer les ponemos dos ejemplos. Fijate
Si es Cinco
Incrementar
Variable
Intercambiar Variables () Lecciones relacionadas: |
OmaNet Curso CyM98 | OmaNet - Educación Interactiva www.oma.org.ar/omanet | omanet@oma.org.ar |
mensajes: webmaster@oma.org.ar |