Heim  >  Artikel  >  Backend-Entwicklung  >  So übergeben Sie Funktionsparameter in C++

So übergeben Sie Funktionsparameter in C++

王林
王林Original
2024-04-13 17:33:01843Durchsuche

Es gibt drei Möglichkeiten, Funktionsparameter in C++ zu übergeben: Übergeben einer Kopie als Wert, Übergeben einer Referenz als Referenz und Übergeben eines Zeigers für Zeiger. Die Übergabe per Wert hat keinen Einfluss auf die tatsächlichen Parameter, die Übergabe per Referenz und Zeiger hingegen schon.

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

So übergeben Sie Funktionsparameter in C++

In C++ können Funktionsparameter als Referenz, Zeiger oder Wert übergeben werden. Hier finden Sie Einführungen und praktische Beispiele für jede Übergabemethode:

Wertübergabe

Übergabe einer Kopie eines Funktionsarguments. Etwaige Änderungen an der Kopie wirken sich nicht auf die tatsächlich übergebenen Parameter aus.

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;
}

Ausgabe:

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

Pass-by-Reference

Übergeben Sie einen Verweis auf ein Funktionsargument. Jede Änderung der Referenz wirkt sich auf die tatsächlich übergebenen Parameter aus.

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;
}

Ausgabe:

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

Pass-by-Pointer

Übergeben Sie den Zeiger des Funktionsparameters. Jede Änderung des Speichers, auf den der Zeiger zeigt, wirkt sich auf die tatsächlich übergebenen Parameter aus.

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;
}

Ausgabe:

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

Das obige ist der detaillierte Inhalt vonSo übergeben Sie Funktionsparameter in C++. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn