KUCKUCK! ändert sich nicht, obwohl ich eine Referenz übergebe.
-
hallo,
string str("KUCKUCK!"); string& getref() { return str; } int main ( int argc, char* argv[] ) { string s = getref(); s = "x"; cout << str << endl; return 0; }wieso ändert sich der wert von str nicht, ich übergebe doch eine referenz!

-
sorry, habs jetzt:
string& s = getref();
-
Es wird eine Kopier erstellt bei:
string s = getref();
-
du übergibst zwar eine referenz
aber string s ist dann doch keine referenz auf str
bzw ein pointerdas ist eine eigene variable, aber mit gleichem inhalt wie str...
-
string s = getref();Hier steht dann rechts eine Referenz auf einen String und links ein String. Der String auf der linken Seite hat also nachher den Wert, den der String hat, auf den die Referenz zeigt. Dadurch wird er aber nicht selber zur Referenz!
P.S: Dir ist aber schon klar, dass die Art und Weise, wie du da Referenzen verwenden willst, eher ungewöhnlich ist? Bin mir gerade nicht so sicher, ob du nur experimentierst oder referenzen nicht richtig verstanden hast.