Ralf G. schrieb:
> (Verdammt. Wozu braucht man denn da jetzt solche Referenzen?
Referenzen sind praktisch Pointer, die bezüglich des Beschreibens
eingeschränkt sind. Daher verwendet man sie dort, wo man Pointer
verwenden würde und diese Einschränkungen passen. Durch diese
Einschränkung ergibt sich eine Zusicherung beim Lese-Zugriff, die die
Programmierung vereinfacht, da es weniger Eventualitäten zu beachten
gibt.
Konkret: Eine Referenz kann nicht auf "nichts" (NULL) zeigen und kann
ihr Ziel auch nicht ändern. Das heißt man braucht nicht auf NULL zu
prüfen und kann annehmen dass sie immer auf das selbe Objekt zeigt.
Die abgewandelte Syntax (zum Pointer) sollte diese Vereinfachung
deutlich machen, ist aber nicht unbedingt so glücklich gewählt...
Referenzen sind also nur ein Mittel des Programmierers, um dem Compiler
seine Absicht mitzuteilen und von diesem auch daran erinnert zu werden,
sich daran zu halten; ähnlich zu "const". Auf Maschinenebene sind
Referenzen einfach Pointer, können aber leicht innerhalb einer Funktion
komplett wegoptimiert werden.