Interne Arbeitsweise von Referenzen
-
Das erste natürlich.
-
Bashar schrieb:
Das zweite natürlich.
volkard schrieb:
Das erste natürlich.
Genau das hatte ich befürchtet.
-
Vielleicht beides?
-
Ich bilde mir ein, schon beide Varianten gelesen zu haben.
Allerdings bin ich der Meinung, dass Variante 1 zutrifft.
-
xBlackKnightx schrieb:
Vielleicht beides?
Werden Zeigerobjekte angelegt oder nicht...
-
Wie würde volkards C++-Compiler wohl swap übersetzen?
-
Enduser schrieb:
xBlackKnightx schrieb:
Vielleicht beides?
Werden Zeigerobjekte angelegt oder nicht...
kommt drauf an wie der compiler das optimiert?
-
Wie würde Bashars C++-Compiler wohl
int a=5; int& ra=a;
übersetzen?
und da haben wir schon den salat. der standard schreibt nicht vor, wie's innendrin aussieht.
faktisch macht der compiler es manchmal so und manchmal so.
die dokmatisten wie ich sagen "referenzen sind nur andere namen und dieses verhalten wird manchmal duch verkappte zeiger erzeugt". die anderen dokmatisten sagen "referenzen sind verkappte zeiger und manchmal werden sie wegoptimiert".
-
volkard schrieb:
Wie würde Bashars C++-Compiler wohl
int a=5; int& ra=a;
übersetzen?
Er würde erstmal einen Zeiger anlegen und bei der Optimierung feststellen, dass er überflüssig ist.
Im Allgemeinen ist der Zeiger aber notwendig.
Hätte da statt einer Referenz ein Zeiger gestanden, würde übrigens dasselbe passieren. Man bekommt bei einer Referenz nur bestimmte Eigenschaften ohne Analyse geschenkt, z.B. ob einer die Adresse nimmt.
und da haben wir schon den salat. der standard schreibt nicht vor, wie's innendrin aussieht.
Natürlich nicht. Als Frage zum Standard hab ich das aber auch nicht aufgefasst.
-
volkard schrieb:
und da haben wir schon den salat. der standard schreibt nicht vor, wie's innendrin aussieht.
faktisch macht der compiler es manchmal so und manchmal so.
die dokmatisten wie ich sagen "referenzen sind nur andere namen und dieses verhalten wird manchmal duch verkappte zeiger erzeugt". die anderen dokmatisten sagen "referenzen sind verkappte zeiger und manchmal werden sie wegoptimiert".Danke für die Erklärung. Das hätte ich wirklich nicht gedacht. Gut, dass ich nochmal gefragt habe.
-
Ich bin ein Dokmatist.
<Klugscheiss>Wenn, dann wohl eher ein Dogmatiker.</Klugscheiss>
-
@jencas,
Volkard verarscht hier nur Prof84, welcher mit dem Dokmatist kam und noch ein paar wilde Behauptungen dazu
Alles weitere dazu in NadrW, Thema: http://www.c-plusplus.net/forum/viewtopic-var-t-is-239999.htmlGrüssli