Frage bezüglich Referenz
-
Ich habe hier in einem C++ Buch eine Übung, welche folgendes verlangt,
Schreiben Sie eine Funktion maximum die zwei Adresse von int-Variblen übergeben bekommt und die Variable mit dem grösseren Wert als Referenz rurückliefert
Das ist ja soweit kein Problem, habe auch die dazugehörige Lösung verstanden,
int& maximum(int* a, int* b) { if(*a>*b) return(*a); else return(*b); } int main() { int a=20, b=30; cout << maximum(&a, &b) << endl; }Bei der Funktion maximum sieht man, das ein Rückgabewert als Referenz zurückgegeben wird, aber falls man da den Rückgabewert nicht als Referenz zurück gibt also einfach int maximum... statt int& maximum... funktioniert es genau gleich.
Meine Frage ist jezt, wo liegt der Unterscheid?
Gibt es da was grundlegendes, oder will das Buch da eher nur die Möglichkeiten zeigen?
-
Der Unterschied ist: Eine Referenz kannst du ändern:
int a=20, b=30; maximum(&a, &b) =40; // b sollte nun den Wert 40 haben.
-
Scheint so zu sein, danke.
Macht in diesem Beispiel zwar keinen all zu grossen Sinn, aber gut zu wissen