maniacquaker
Grünschnabel
Hallo,
ich wollte für eine selbst geschriebene vektor klasse den [] operator überladen.
das ganze sollte ungefähr so aussehen:
double& vec:perator[](double i){
switch(i){
case 0: return x; break;
case 1: return y; break;
case 2: return z; break;
}
}
warum gibt man da eine referenz zurück? also ich meine auch generell. was macht es für einen unterschied wenn ich nur einen normalen double zurückgebe?
warum funktioniert das überhaupt? man referenziert doch auf eine variable die es außerhalb der funktion gar nicht mehr gibt!
bitte um alle informationen dahingehen da man leider nur vereinzelte und widersprüchliche infos im netz bekommt.
danke und gruß
ich wollte für eine selbst geschriebene vektor klasse den [] operator überladen.
das ganze sollte ungefähr so aussehen:
double& vec:perator[](double i){
switch(i){
case 0: return x; break;
case 1: return y; break;
case 2: return z; break;
}
}
warum gibt man da eine referenz zurück? also ich meine auch generell. was macht es für einen unterschied wenn ich nur einen normalen double zurückgebe?
warum funktioniert das überhaupt? man referenziert doch auf eine variable die es außerhalb der funktion gar nicht mehr gibt!
bitte um alle informationen dahingehen da man leider nur vereinzelte und widersprüchliche infos im netz bekommt.
danke und gruß