C++ Llamada por puntero
Pasar parámetros a la funciónLlamada por punteroEste método copia la dirección del argumento en el parámetro formal. Dentro de la función, esta dirección se utiliza para acceder al argumento real que se utilizará en la llamada. Esto significa que modificar el parámetro formal afectará al argumento real.
Al pasar valores por puntero, el puntero del parámetro se pasa a la función, igual que se pasan otros valores a la función. Por lo tanto, en la siguiente funciónswap()debe declarar el parámetro de la función como tipo puntero. Esta función se utiliza para intercambiar los valores de las dos variables enteras a las que apuntan los parámetros.
// 函数定义
void swap(int *x, int *y)
{
int temp;
temp = *x; /* 保存地址 x 的值 */
*x = *y; /* 把 y 赋值给 x */
*y = temp; /* 把 x 赋值给 y */
return;
}
Para obtener más detalles sobre los punteros en C++, visite elPunteros en C++capítulo.
Ahora, llamemos a la función pasando valores mediante punterosswap():
#include <iostream>
using namespace std;
// 函数声明
void swap(int *x, int *y);
int main ()
{
// 局部变量声明
int a = 100;
int b = 200;
cout << "交换前,a 的值:" << a << endl;
cout << "交换前,b 的值:" << b << endl;
/* 调用函数来交换值
* &a 表示指向 a 的指针,即变量 a 的地址
* &b 表示指向 b 的指针,即变量 b 的地址
*/
swap(&a, &b);
cout << "交换后,a 的值:" << a << endl;
cout << "交换后,b 的值:" << b << endl;
return 0;
}
Cuando el código anterior se compila y ejecuta, produce los siguientes resultados:
交换前,a 的值: 100 交换前,b 的值: 200 交换后,a 的值: 200 交换后,b 的值: 100Otras extensiones
Funciones en C++