Métodos de paso de parámetros de tres funciones de C++

Métodos de paso de parámetros de tres funciones de C++

pasar por valor

Pasar por valor es la forma más común, es decir, normalmente se pasa una copia del parámetro real al parámetro formal y la función no puede cambiar el valor del parámetro real.

paso de dirección

Es pasar la dirección del parámetro actual al parámetro formal, porque las direcciones a las que apunta el parámetro formal y el objeto del parámetro actual son las mismas, por lo que el objeto al que apunta el parámetro formal es el objeto del parámetro actual. La esencia de pasar una dirección es también pasar un valor . Lo que se pasa es una dirección. La característica de pasar un valor es que cualquier operación de la función llamada en los parámetros formales se realiza como una variable local, lo que no afectará la valor del parámetro real de la función de llamada, pero debido a que se pasa la dirección, la variable en esta dirección realmente cambia. Los parámetros formales y los parámetros reales son en realidad independientes entre sí. Debido a que se pasa la dirección, si la operación ++ se realiza en el puntero pasado, el valor del parámetro real ya no se puede cambiar , por lo que muchos punteros se modificarán con const al pasar punteros.

pasar por referencia

Pasar por referencia transfiere directamente la dirección de memoria del parámetro real al parámetro formal sin ninguna copia , es decir, las dos variables apuntan directamente al mismo objeto, y el parámetro formal es equivalente a otro alias del parámetro real, por lo que cuando el cambios de parámetros formales, el parámetro real también cambia. Pasar un puntero es un valor de variable, que es esencialmente pasar un valor, mientras que pasar una referencia es directamente una dirección, por lo que el parámetro formal se considera como direccionamiento indirecto. Entonces, las operaciones sobre parámetros formales afectan los parámetros reales.

Guess you like

Origin blog.csdn.net/TABE_/article/details/126734252