Die Norm besagt
A variabel wird durch die Deklaration eines Objekts eingeführt. Der Name der Variablen bezeichnet das Objekt.
Aber was bedeutet diese Definition eigentlich?
Gibt eine Variable einem Objekt einen Namen, d.h. sind Variablen nur ein Benennungsmechanismus für ansonsten anonyme Objekte? Oder ist eine Variable der Name selbst?
Oder ist eine Variable ein benanntes Objekt in dem Sinne, dass jede Variable auch ein Objekt ist?
Oder ist eine Variable nur ein "Proxy" mit einem Namen, der alle Operationen an das echte Objekt "delegiert"?
Um die Dinge weiter zu verwirren, scheinen viele C++-Bücher Variablen und Objekte als Synonyme zu behandeln.
Was ist Ihre Meinung dazu?
Über Entitäten, zitiert aus dem C++0x Entwurf:
Eine Entität ist ein Wert, ein Objekt, eine Referenz, eine Funktion [...]
Jeder Name, der eine Entität bezeichnet, wird durch eine Erklärung eingeleitet.
Eine Variable wird durch die Deklaration eines Objekts eingeführt
Aus diesen Aussagen ziehe ich den Schluss, dass eine Variable ein Name ist und somit kein Objekt sein kann. Das verwirrt mich jetzt wirklich gewaltig :)
0 Stimmen
Mein lahmer Versuch: Eine Variable ist ein lWert, der zugewiesen werden kann, wenn er nicht gekennzeichnet ist
const
.0 Stimmen
Eine Variable ist im Grunde nur eine Etikett die den Zugriff auf den Inhalt eines bestimmten Speicherplatzes ermöglicht - im Vergleich zu einem Zeiger, der die Adresse eines bestimmten Speicherplatzes als Wert enthält.