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.
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!