Kursinhalt
C++ Zeiger und Referenzen
C++ Zeiger und Referenzen
Verwendungsfälle von Referenzen
Referenzen bieten einen leistungsstarken Mechanismus für die Arbeit mit Funktionen. Ähnlich wie Zeiger ermöglichen sie eine direkte Verbindung zwischen dem Aufrufer und der aufgerufenen Funktion, was einen effizienten Parameterübergang und die Modifizierung von Variablen erlaubt.
Übergabe durch Referenz
Dies beinhaltet die Übergabe der tatsächlichen Referenz auf die Variable anstelle ihres Wertes. Dadurch können Funktionen direkt die ursprünglichen Variablen manipulieren.
main
#include <iostream> void increment(int* num) { (*num)++; } int main() { int num = 5; int* p_num = # increment(p_num); std::cout << "Original value: " << num << std::endl; }
Alles funktioniert einwandfrei, aber das fehlende Zuweisen einer Adresse zum Zeiger oder das Übergeben eines nullptr
an die Funktion könnte zu Fehlern führen.
main
#include <iostream> void increment(int& num) { num++; } int main() { int num = 5; increment(num); std::cout << "Original value: " << num << std::endl; }
Referenzvariable als Alias
Eine Referenz ist wie ein Spitzname für eine Variable. Sie ermöglicht den Zugang zur Variable unter Verwendung eines einfacheren Namens, was Ihren Code leichter verständlich macht und gleichzeitig unnötigen Speicherverbrauch vermeidet.
main
#include <iostream> int main() { float temperature_outside = 67.2; const float& thermostat = temperature_outside; temperature_outside += 15.7; std::cout << thermostat << std::endl; std::cout << temperature_outside << std::endl; }
Alle Änderungen an der temperature_outside
-Variable werden in der thermostat
-Referenz widergespiegelt. Allerdings sind Versuche, den Wert direkt über die thermostat
-Referenz zu ändern, eingeschränkt aufgrund der Verwendung des const
-Qualifiers.
Dieser Ansatz bietet eine sichere Methode zur Erfassung von Temperaturwerten mittels der thermostat
-Referenz, während die Möglichkeit erhalten bleibt, die temperature_outside
-Variable zu aktualisieren.
Danke für Ihr Feedback!