Bedeutung von &
-
Hallo habe ein kleines Problem schreibe nächste Woche eine Klausur und lerne gerade die Nachklausur aber ich verstehe etwas nicht
Hier kurz das Programm
#include <iostream.h>
float add(float&,float)
void main()
{float a=4,b=6,erg;
erg=add(a,b);
cout<<"n\Ergebnis"<<erg<<endl;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
erg=add(a,b);
cout<<"a="<<a<<endl;}
float add(flaot& x,flaot y)
{x=2*x;
y+=5;
return x+y;
}
So also ich versteh nicht was das & (und) macht und das andere Problem das ich hab ist was ist mit dem + Zeichen in der Funktion add nach dem y? Übergibt er da nicht die 6 vom b und addiert noch eins dazu?
-
stichwort: 'call by referenz'
-
y += 5; == y = y + 5;
das andere ist wie enno-tyrant schon sagte, "call-by-reference", d.h.:
due arbeitest direkt mit der variablen... das wirst du auch sehen, wenn du das programm durchlaufen lässt, dass beide male nicht das selbe herauskommt, obwohl du an den übergebenen parametern nichts änderst... ist bestimmt auch ne aufgabe in der arbeit:
"warum kommen unterschiedliche ergebnisse heraus? Erkläre."
-
bomber77 schrieb:
Hallo habe ein kleines Problem schreibe nächste Woche eine Klausur...was ist mit dem + Zeichen in der Funktion add nach dem y...
*lol* ich würde sagen, daß Du wohl eher ein großes Problem hast, wenn Du das nicht weißt
bomber77 schrieb:
Übergibt er da nicht die 6 vom b und addiert noch eins dazu?
es wird b (Wert: 6) übergeben (call by value) und dazu 5 addiert (kennst den opeartor+= nicht, was?!?)