Sie können nicht, und es ist nicht.
Eine C++ - Referenz ist nicht ein Zeiger. Es ist ein Alias eines Objekts. Manchmal, der Compiler wählt das mithilfe eines Zeigers zu implementieren. Aber oft implementiert es es durch überhaupt nichts tun. Erzeugen Sie einfach einen Code, der direkt auf das ursprüngliche Objekt verweist.
In jedem Fall angewendet sizeof
auf einen Referenztyp nicht, dass Sie die Größe eines Referenz nicht geben. Es ist also nicht wirklich klar, was du tust, was es unmöglich macht zu erklären, was passiert.
bearbeiten
Nun, da Sie einige Code gezeigt haben, können wir die Frage beantworten:
Sie die Größe einer Klasse, die einen Verweis enthält.Wie ich oben sagte, ist eine Referenz kein Zeiger, aber wenn nötig, kann der Compiler darauf zurückgreifen, einen Zeiger zu verwenden, um ihn darzustellen. Wenn Sie eine Klasse erstellen, die eine Referenz enthält, kann der Compiler sie nur so implementieren, dass eine Klasse definiert wird, die die Adresse eines Objekts enthält. Auf 32-Bit-Systemen sind Adressen 32 Bit oder 4 Byte breit. So sizeof
solch eine Klasse wird (in der Regel) 4.
Sie können nicht die Größe einer Referenz erhalten, weil eine Referenz kein Objekt ist. Bitte zeigen Sie uns, mit welchem Code Sie testen. –
warum die negativen stimmen? – AlexDan
Weil deine Frage keinen Sinn ergibt. Wie @ R.MartinhoFernandes sagt, können Sie nicht die Größe einer Referenz erhalten. Also, es sei denn, du postest einen Code, der zeigt, was du * tust *, wir haben keine Ahnung, was du fragst oder wie du antworten kannst. – jalf