Heim  >  Artikel  >  Backend-Entwicklung  >  Der Unterschied zwischen der Übergabe von Werten und der Übergabe von Referenzen in C++-Funktionsparametern

Der Unterschied zwischen der Übergabe von Werten und der Übergabe von Referenzen in C++-Funktionsparametern

王林
王林Original
2024-04-19 12:33:021093Durchsuche

Die Übergabe von C++-Funktionsparametern verfügt über zwei Methoden: Wertübergabe und Referenzübergabe: Wertübergabe: Erstellen Sie eine Kopie der lokalen Variablen. Änderungen an der Kopie wirken sich nicht auf die Originalvariable aus. Übergabe als Referenz: Übergeben Sie die Referenz direkt an die Originalvariable, und Änderungen an der Referenzvariablen werden in der Originalvariablen widergespiegelt.

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

C++ Der Unterschied zwischen der Übergabe von Funktionsparametern als Wert und der Übergabe als Referenz

Übergabe als Wert

Wenn ein Funktionsparameter als Wert übergeben wird, wird eine Kopie der lokalen Variablen erstellt. Änderungen an dieser Kopie wirken sich nicht auf die Originalvariable aus.

Syntax:

void function(int value);

Übergabe als Referenz

Wenn ein Funktionsparameter als Referenz übergeben wird, wird die Referenz auf die Originalvariable direkt übergeben, anstatt eine Kopie zu erstellen. Änderungen an der Referenzvariablen werden in der Originalvariablen widergespiegelt.

Syntax:

void function(int& value);

Praktisches Beispiel

Betrachten Sie die folgende Funktion:

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

Diese Funktion übergibt zwei ganze Zahlen als Referenz. Wenn die Funktion also den Wert von ab austauscht, ändert sie auch die ursprüngliche Variable in der Hauptvariable Funktion.

Verwendungsbeispiel:

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

Ausgabe:

10, 5

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen der Übergabe von Werten und der Übergabe von Referenzen in C++-Funktionsparametern. 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