cpp / beginner
Snippet
Übergabe nach Wert vs Referenz
Beim Übergeben von Argumenten an Funktionen erstellt C++ standardmäßig eine Kopie (Übergabe nach Wert). Die Verwendung des Et-Zeichens (&) in der Parameterdeklaration erstellt eine Referenz zur Originalvariable (Übergabe nach Referenz). Übergabe nach Wert schützt das Original vor Änderungen, verbraucht aber mehr Speicher. Übergabe nach Referenz ermöglicht Änderungen, beeinflusst aber direkt die Variable des Aufrufers.
snippet.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>void byValue(int x) {x = x + 10;}void byReference(int& x) {x = x + 10;}int main() {int a = 5;int b = 5;byValue(a);std::cout << "byValue result: " << a << std::endl;byReference(b);std::cout << "byReference result: " << b << std::endl;return 0;}
Erklärung
1
void byValue(int x)
Parameter x ist eine Kopie des Arguments
2
void byReference(int& x)
Parameter x ist eine Referenz zum Original
3
a bleibt 5, b wird 15
Demonstriert den wesentlichen Unterschied