C++ Llamada por valor

C++ 函数Funciones en C++

para pasar parámetros a la funciónllamada por valormétodo, que copia el valor real del parámetro en los parámetros formales de la función. En este caso, modificar los parámetros formales dentro de la función no afecta a los parámetros reales.

Por defecto, C++ usallamada por valormétodo para pasar parámetros. En general, esto significa que el código dentro de la función no cambiará los parámetros reales utilizados para llamar a la función. La funciónswap()se define de la siguiente manera:

// Definición de la función void swap(int x, int y) { int temp; temp = x; /*Guardar el valor de x*/ x = y; /*Asignar y a x*/ y = temp; /*Asignar x a y*/ return; }

Ahora, llamemos a la función pasando parámetros realesswap():

Ejemplo

#include <iostream> using namespace std; // Declaración de la función void swap(int x, int y); int main () { // Declaración de variables locales int a = 100; int b = 200; cout << "Antes del intercambio, el valor de a:" << a << endl; cout << "Antes del intercambio, el valor de b:" << b << endl; // Llamar a la función para intercambiar valores swap(a, b); cout << "Después del intercambio, el valor de a:" << a << endl; cout << "Después del intercambio, el valor de b:" << b << endl; return 0; }

Cuando el código anterior se compila y ejecuta, produce el siguiente resultado:

交换前,a 的值: 100
交换前,b 的值: 200
交换后,a 的值: 100
交换后,b 的值: 200

El ejemplo anterior muestra que, aunque se cambiaron los valores de a y b dentro de la función, en realidad los valores de a y b no han cambiado.

C++ 函数Funciones en C++

Otras extensiones