Warum gibt der operator= eine Referenz zurück und nicht den eigentlichen Wert? Ich versteh das nicht so ganz!
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
Deswegen bleibt aber trotzdem die Rechtsassoziativität bestehen!
Eine Zuweisung '=' ist rechtsassosiativ weil der operator= etwas liefern muß, was selber auf der rechten Seite einer Zuweisung stehen darf!
Sonst würde ja auch keine Verkettung funktionieren:
void Verkettung( int wert1, int wert2, int wert3, int wert4)
{
wert1 = wert2 = wert3 = wert4;
}
Der Compiler macht daraus mathematisch gesehen folgendes:
wert1 = ( wert2 = ( wert3 = wert4 ) )
Wie Klammern aufgelöst werden, solltest du ja in der Schule gelernt haben :-)