Hi!
Wenn ich eine Referenz zurückgeben will, mache ich das durch ein vorangestelltes & deutlich. Dann sind auch die Klammern unschädlich. Ja, ich bin stark durch C geprägt. ;-)
In PHP kennzeichnet man das im Funktionskopf mit function &foo() {...}, dass man eine Referenz zurückgeben will. Auch beim Zuweisen des Funktionsergebnisses an eine Variablen benötigt man ein zweites Mal den Referenzoperator: $bar =& foo(); Aber schon die Klammern beim return verhindern wirksam, dass eine Referenz nach außen gelangen kann. Wie sieht das denn in C aus? Ich kann mir grad nicht vorstellen, wie der "Referenz-Zurückgeb-Operator" das Klammernpaar außer Gefecht setzen soll. Das würde bedeuten, dass einige Operatoren andere bedeutungslos machen können.
Ich bin deswegen durchaus dafür, dass man sich durch konsequente Anwendung von Gewohnheiten das Leben leichter macht.
Das Problem ist nur, dass man leicht was übersehen kann, wenn man sich auf die Gewohnheiten verlässt, jedoch in Situationen kommt, in denen sie halt nicht passen und das nicht mitbekommt.
Ja, deswegen sollte man sich ja bitte die Regel angewöhnen und nicht eine der Ausnahmen.
Du versuchst dir durch eine Regel das Leben zu erleichtern. Aber zu diesen Regeln musst du auch immer alle Ausnahmen kennen, sonst ist das witzlos. Und dann ist die Frage, ob durch die Regel wirklich etwas vereinfacht wird oder ob sie nur ein falsches Gefühl der Sicherheit erzeugt.
Da sind wir uns einig.
Im Wesentlichen hab ich auch nichts anderes erwartet. Aufgrund unserer Erfahrung wissen du und ich um die Ausnahmen von den Regeln recht gut Bescheid. Doch die noch nicht so Fortgeschrittenen kennen die Ausnahmen noch nicht so gut, weswegen sie die Regelanwendung in solchen Ausnahmesituationen nicht schützt, die Regel also teilweise im Wert mindert.
Lo!