ホームページ  >  記事  >  バックエンド開発  >  C++関数パラメータでの値の受け渡しと参照の受け渡しの違い

C++関数パラメータでの値の受け渡しと参照の受け渡しの違い

王林
王林オリジナル
2024-04-19 12:33:021075ブラウズ

C 関数パラメータを渡すには、値の転送と参照の転送の 2 つの方法があります。 値の転送: ローカル変数のコピーを作成します。コピーへの変更は元の変数には影響しません。参照渡し: 元の変数に参照を直接渡します。参照変数への変更は元の変数に反映されます。

C++ 函数参数传递值和传递引用的区别

#C 関数パラメータの値の受け渡しと参照の受け渡しの違い

値の受け渡し

関数の引数が値によって渡されると、ローカル変数のコピーが作成されます。このコピーを変更しても、元の変数には影響しません。

構文:

void function(int value);

参照を渡す

関数パラメータが参照によって渡される場合、参照を元の変数に渡します。コピーを作成する代わりに、直接。参照変数への変更は元の変数に反映されます。

構文:

void function(int& value);

実際のケース

次の関数を考えてみましょう:

void swap(int& a, int& b) {
  int temp = a;
  a = b;
  b = temp;
}

この関数は参照渡し 2 つの整数が渡されるため、関数が

ab の値を交換すると、main 関数内の元の変数も変更されます。

使用例:

int main() {
  int x = 5, y = 10;
  swap(x, y); // 交换 x 和 y 的值
  cout << x << ", " << y << endl; // 输出交换后的值
  return 0;
}

出力:

10, 5

以上がC++関数パラメータでの値の受け渡しと参照の受け渡しの違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。