Diferencia entre revisiones de «Argumento (informática)»

1029 bytes añadidos ,  hace 6 años
Restauro versión editada a las 14:25 26 mar 2014 por Das MiMaMi: vandalismo reiterado
m (Revertidos los cambios de 187.216.125.66 (disc.) a la última edición de 186.46.73.146)
(Restauro versión editada a las 14:25 26 mar 2014 por Das MiMaMi: vandalismo reiterado)
 
===Paso por valor resultado===
Es un tipo poco usado en los lenguajes de programación actuales. Se basa en que dentro de la función se trabaja como si los argumentos hubieran sido pasados por valor pero al acabar la función los valores que tengan los argumentos serán copiados a las variables que pertenecían.
tipos:
 
Este tipo puede ser simulado en cualquier lenguaje que permita el paso de valores por referencia de la siguiente forma:
<source lang="cpp">void EjemploValorRes(int a1, int a2, int a3) {
int aux1 = a1, aux2 = a2, aux3 = a3;
// código trabajando con aux1, aux2 y aux3
a1 = aux1; a2 = aux2; a3 = aux3; // Dependiendo del compilador la copia se realiza en un sentido o en el otro
}</source>
 
Tal y como indica el ejemplo de simulación de valor-resultado, el orden de copia depende del compilador, lo que implica que la misma función pueda dar resultados diferentes según el compilador usado.
 
==Ejemplo de diferencias entre los distintos pasos de parámetros==
Aquí se exponen unos ejemplos que demuestran las diferencias de estos tipos:
<source lang="cpp">void función(int a, int b) {
++a;