Heim > Backend-Entwicklung > C++ > Hauptteil

So übergeben Sie Funktionsparameter in C++

王林
Freigeben: 2024-04-13 17:33:01
Original
896 Leute haben es durchsucht

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;
}
Nach dem Login kopieren

Ausgabe:

Before swap: a = 10, b = 20
After swap: a = 10, b = 20
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Ausgabe:

Before swap: a = 10, b = 20
After swap: a = 20, b = 10
Nach dem Login kopieren
Nach dem Login kopieren

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;
}
Nach dem Login kopieren

Ausgabe:

Before swap: a = 10, b = 20
After swap: a = 20, b = 10
Nach dem Login kopieren
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage