Cplusplus-cpp-function-call-by-reference

提供:Dev Guides
移動先:案内検索

参照によるC ++関数呼び出し

引数を関数に渡す*参照による呼び出し*メソッドは、引数の参照を仮パラメーターにコピーします。 関数内では、参照は、呼び出しで使用される実際の引数にアクセスするために使用されます。 これは、パラメーターに加えられた変更が、渡された引数に影響することを意味します。

参照によって値を渡すには、他の値と同様に引数参照が関数に渡されます。 そのため、次の関数* swap()*のように、関数のパラメーターを参照型として宣言する必要があります。これは、引数が指す2つの整数変数の値を交換します。

//function definition to swap the values.
void swap(int &x, int &y) {
   int temp;
   temp = x;/*save the value at address x*/
   x = y;   /*put y into x*/
   y = temp;/*put x into y*/

   return;
}

今のところ、次の例のように参照によって値を渡すことにより、関数* swap()*を呼び出しましょう-

#include <iostream>
using namespace std;

//function declaration
void swap(int &x, int &y);

int main () {
  //local variable declaration:
   int a = 100;
   int b = 200;

   cout << "Before swap, value of a :" << a << endl;
   cout << "Before swap, value of b :" << b << endl;

  /* calling a function to swap the values using variable reference.*/
   swap(a, b);

   cout << "After swap, value of a :" << a << endl;
   cout << "After swap, value of b :" << b << endl;

   return 0;
}

上記のコードがファイルにまとめられ、コンパイルされて実行されると、次の結果が生成されます-

Before swap, value of a :100
Before swap, value of b :200
After swap, value of a :200
After swap, value of b :100