Latest web development tutorials

C ++ Call-by

funzione C ++ funzione C ++

Per ivalori tradizionali di parametri passati per chiamare lafunzione, copiare i valori effettivi dei parametri ai parametri formali della funzione. In questo caso, una forma modificata di parametri all'interno della funzione non altera i parametri effettivi.

Per impostazione predefinita, C ++ utilizzando ilCall-by-modiper passare parametri. Generalmente, questo significa che il codice all'interno della funzione non modifica i parametri effettivi utilizzati per chiamare la funzione.Swap Function ()è definita come segue:

// 函数定义
void swap(int x, int y)
{
   int temp;

   temp = x; /* 保存 x 的值 */
   x = y;    /* 把 y 赋值给 x */
   y = temp; /* 把 x 赋值给 y */
  
   return;
}

Ora, cerchiamo di passando argomenti reali per chiamare la funzioneswap ():

#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;
 
   // 调用函数来交换值
   swap(a, b);
 
   cout << "交换后,a 的值:" << a << endl;
   cout << "交换后,b 的值:" << b << endl;
 
   return 0;
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

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

L'esempio mostra che, sebbene un cambiamento nella funzione e il valore di b, ma in realtà, i valori A e B non sono cambiati.

funzione C ++ funzione C ++