Академический Документы
Профессиональный Документы
Культура Документы
En C++ el paso por valor significa que al compilar la funcin y el cdigo que llama a la funcin, sta recibe una copia de los valores de los parmetros que se le pasan como argumentos. Las variables reales no se pasan a la funcin, slo copias de su valor. Cuando una funcin debe modificar el valor de la variable pasada como parmetro y que esta modificacin retorne a la funcin llamadora, se debe pasar el parmetro por referencia. En este mtodo, el compilador no pasa una copia del valor del argumento; en su lugar, pasa una referencia, que indica a la funcin dnde existe la variable en memoria. La referencia que una funcin recibe es la direccin de la variable. Es decir, pasar un argumento por referencia es, simplemente, indicarle al compilador que pase la direccin del argumento.
El paso de parmetros por valor consiste en copiar el contenido de la variable que queremos pasar en otra dentro del mbito local de la subrutina, consiste pues en copiar el contenido de la memoria del argumento que se quiere pasar a otra direccin de memoria, correspondiente al argumento dentro del mbito de dicha subrutina. Se tendrn dos valores duplicados e independientes, con lo que la modificacin de uno no afecta al otro.
El paso de parmetros por referencia consiste en proporcionar a la subrutina a la que se le quiere pasar el argumento la direccin de memoria del dato. En este caso se tiene un
nico valor referenciado (o apuntado) desde dos puntos diferentes, el programa principal y la subrutina a la que se le pasa el argumento, por lo que cualquier accin sobre el parmetro se realiza sobre el mismo dato en la memoria.
Es un tipo poco usado en los lenguajes de programacin actuales. Se basa en que dentro de la funcin se trabaja como si los argumentos hubieran sido pasados por valor pero al acabar la funcin los valores que tengan los argumentos sern copiados a las variables que pertenecan.
Variable referencia
Una referencia o variable referencia en C++ es simplemente otro nombre o alias de una variable. En esencia una referencia acta igual que un puntero (contiene la direccin de un objeto), pero funciona de diferente modo, ya que no se puede modificar la variable a la que est asociada la referencia, pero s se puede modificar el valor de la variable asociada.