ホームページ  >  記事  >  バックエンド開発  >  C++ で関数パラメータを渡す方法

C++ で関数パラメータを渡す方法

王林
王林オリジナル
2024-04-13 17:33:01895ブラウズ

C 関数のパラメーターを渡すには、値によるコピーの受け渡し、参照による参照の受け渡し、およびポインターによるポインターの受け渡しの 3 つの方法があります。値による受け渡しは実際のパラメーターには影響しませんが、参照およびポインターによる受け渡しは影響します。

C++ 函数参数的传递方式

C 関数パラメータを渡す方法

C では、関数パラメータは参照、ポインタ、または値によって渡すことができます。ここでは、各受け渡し方法の概要と実際の例を示します。

値による受け渡し

関数の引数のコピーを渡します。コピーを変更しても、渡される実際のパラメータには影響しません。

void swap(int x, int y) {
  int temp = x;
  x = y;
  y = temp;
}

int main() {
  int a = 10, b = 20;
  std::cout << "Before swap: a = " << a << ", b = " << b << std::endl;
  swap(a, b);  // a 和 b 的副本被传给 swap
  std::cout << "After swap: a = " << a << ", b = " << b << std::endl;
  return 0;
}

出力:

Before swap: a = 10, b = 20
After swap: a = 10, b = 20

参照渡し

関数パラメータに参照を渡します。参照を変更すると、渡される実際のパラメータに影響します。

void swap(int &x, int &y) {
  int temp = x;
  x = y;
  y = temp;
}

int main() {
  int a = 10, b = 20;
  std::cout << "Before swap: a = " << a << ", b = " << b << std::endl;
  swap(a, b);  // a 和 b 的引用被传给 swap
  std::cout << "After swap: a = " << a << ", b = " << b << std::endl;
  return 0;
}

出力:

Before swap: a = 10, b = 20
After swap: a = 20, b = 10

ポインタ渡し

関数パラメータのポインタを渡します。ポインタが指すメモリを変更すると、渡される実際のパラメータに影響します。

void swap(int *x, int *y) {
  int temp = *x;
  *x = *y;
  *y = temp;
}

int main() {
  int a = 10, b = 20;
  std::cout << "Before swap: a = " << a << ", b = " << b << std::endl;
  swap(&a, &b);  // a 和 b 的指针被传给 swap
  std::cout << "After swap: a = " << a << ", b = " << b << std::endl;
  return 0;
}

出力:

Before swap: a = 10, b = 20
After swap: a = 20, b = 10

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

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