<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Größe einer Referenz?]]></title><description><![CDATA[<p>Kann mir jemand sagen wie groß eine Referenz ist? Hängt dass von ihrem Typ ab? Ne oder? Eine Referenz muss doch nur einen &quot;Lageplan&quot; von der Position der Variable haben, auf die sie zuweist. Sie muss wissen wo diese liegt und dann ihren Wert ausgeben können?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/227996/größe-einer-referenz</link><generator>RSS for Node</generator><lastBuildDate>Tue, 29 Sep 2026 17:59:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/227996.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 22 Nov 2008 15:55:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Größe einer Referenz? on Sat, 22 Nov 2008 15:55:24 GMT]]></title><description><![CDATA[<p>Kann mir jemand sagen wie groß eine Referenz ist? Hängt dass von ihrem Typ ab? Ne oder? Eine Referenz muss doch nur einen &quot;Lageplan&quot; von der Position der Variable haben, auf die sie zuweist. Sie muss wissen wo diese liegt und dann ihren Wert ausgeben können?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1618915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1618915</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sat, 22 Nov 2008 15:55:24 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Referenz? on Sat, 22 Nov 2008 16:18:47 GMT]]></title><description><![CDATA[<p>Eine Referenz ist im Sinne von C++ nur ein Alias. Eine Referenz an sich gibt es als Objekt somit nicht, ist also nicht mit einem Zeiger zu vergleichen. Daher gibt <code>sizeof</code> bei einer Referenz die Grösse des Objektes zurück, dessen Alias sie ist.</p>
<pre><code class="language-cpp">double d;
double&amp; r = d;
sizeof(r); // Gibt 8 zurück, weil ein double nunmal 8 Bytes benötigt,
           // bzw. die Variable d 8 Bytes Speicher beansprucht.
</code></pre>
<p>Also grundsätzlich darf man schon sagen, dass die Grösse von ihrem Typ abhängt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1618926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1618926</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sat, 22 Nov 2008 16:18:47 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Referenz? on Sat, 22 Nov 2008 16:23:22 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Die Größe einer Referenz selbst ist die gleiche wie die von Zeigern, da Refererenzen nur syntaktisch vereinfachte Zeiger sind. Du kannst es also selber bestimmen :</p>
<pre><code class="language-cpp">std::size_t psize = sizeof(void*);
</code></pre>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1618929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1618929</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Sat, 22 Nov 2008 16:23:22 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Referenz? on Sat, 22 Nov 2008 16:24:28 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Eine Referenz ist im Sinne von C++ nur ein Alias. Eine Referenz an sich gibt es als Objekt somit nicht, ist also nicht mit einem Zeiger zu vergleichen. Daher gibt <code>sizeof</code> bei einer Referenz die Grösse des Objektes zurück, dessen Alias sie ist.</p>
<pre><code class="language-cpp">double d;
double&amp; r = d;
sizeof(r); // Gibt 8 zurück, weil ein double nunmal 8 Bytes benötigt,
           // bzw. die Variable d 8 Bytes Speicher beansprucht.
</code></pre>
<p>Also grundsätzlich darf man schon sagen, dass die Grösse von ihrem Typ abhängt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Grüssli</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Bei mir gibt das 4 zurück. Kann es sein, dass du ein 64 Bit System hast? sizeof(Ref) ist doch == sizeof(ptr).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1618930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1618930</guid><dc:creator><![CDATA[sicher]]></dc:creator><pubDate>Sat, 22 Nov 2008 16:24:28 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Referenz? on Sat, 22 Nov 2008 16:29:33 GMT]]></title><description><![CDATA[<p>sicher schrieb:</p>
<blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Bei mir gibt das 4 zurück. Kann es sein, dass du ein 64 Bit System hast? sizeof(Ref) ist doch == sizeof(ptr).</p>
</blockquote>
<p>Das habe ich so gelernt ... aber ich habe es gleich mal getestet.<br />
MSVS2005 32 Bit System mit dem folgenden Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 

int main() 
{ 
	double d = 0.0;
	double&amp; r = d;

	std::cout &lt;&lt; sizeof(r) &lt;&lt; std::endl;

	test::wait(&quot;&quot;);

	return 0;
}
</code></pre>
<p>Das gibt bei mir ganz klar 8 aus! Probiert es mal aus. Es darf ja auch irgendwie nicht anders sein, weil eine Referenz, wie schon gesagt, gar kein Objekt ist, im gegensatz zu einem Zeiger.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1618935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1618935</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sat, 22 Nov 2008 16:29:33 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Referenz? on Sat, 22 Nov 2008 16:33:37 GMT]]></title><description><![CDATA[<p>Bei mir wird ebenfalls die Größe des referenzierten Typs zurückgegeben.</p>
<pre><code class="language-cpp">int main()
{
	char array[32];
	char (&amp;ref)[32] = array;
	std::cout &lt;&lt; sizeof (ref); // 32
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1618940</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1618940</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Sat, 22 Nov 2008 16:33:37 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Referenz? on Sat, 22 Nov 2008 16:37:50 GMT]]></title><description><![CDATA[<p>Tatsächlich. Dann zeigt der Debugger was falsches an. Warum?</p>
<p>Visual C++ 2008 Debugger schrieb:</p>
<blockquote>
<p>sizeof(double&amp;) 4 unsigned int<br />
sizeof(double) 8 unsigned int</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1618943</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1618943</guid><dc:creator><![CDATA[sicher]]></dc:creator><pubDate>Sat, 22 Nov 2008 16:37:50 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Referenz? on Sat, 22 Nov 2008 16:44:54 GMT]]></title><description><![CDATA[<p>sicher schrieb:</p>
<blockquote>
<p>Tatsächlich. Dann zeigt der Debugger was falsches an. Warum?</p>
</blockquote>
<p>Wie hat der Debugger das denn angezeigt? Welchen Code hast du dafür ausgeführt?</p>
<p>Ich habe es gerade noch auf dem aktuellesten MinGW (g++) Kompiler ausgeführt. Da kommt bei mir definitiv auch 8 dabei raus. Macht auch absolut Sinn in meinen Augen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Ich habe leider keinen Standard zur Verfügung, kann da somit nicht irgendwie mit einem Zitat daraus untermauern. Ich habe es allerdings nie anders gelernt und auch nie anders erlebt.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1618949</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1618949</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sat, 22 Nov 2008 16:44:54 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Referenz? on Sat, 22 Nov 2008 16:47:04 GMT]]></title><description><![CDATA[<p>In der Konsole wird bei mir auch 8 ausgegeben, aber wenn ich es in das &quot;Überwachen&quot; Fenster des Debuggers eingebe, zeigt das 4 an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1618951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1618951</guid><dc:creator><![CDATA[sicher]]></dc:creator><pubDate>Sat, 22 Nov 2008 16:47:04 GMT</pubDate></item><item><title><![CDATA[Reply to Größe einer Referenz? on Sat, 22 Nov 2008 17:47:31 GMT]]></title><description><![CDATA[<p>sicher schrieb:</p>
<blockquote>
<p>In der Konsole wird bei mir auch 8 ausgegeben, aber wenn ich es in das &quot;Überwachen&quot; Fenster des Debuggers eingebe, zeigt das 4 an.</p>
</blockquote>
<p>Das ist korrekt. <code>sizeof</code> gibt 8 zurück, weil es der Standard so verlangt. Das Fenster &quot;Überwachen&quot; hingegen hat mit dem Standard nichts mehr zu tun und zeigt dir die Repräsentation deiner Referenz physikalisch - und das ist nunmal ein normaler Zeiger, auf einem 32Bit System 4 Bytes oder auf einem 64Bit System 8 Bytes.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1618983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1618983</guid><dc:creator><![CDATA[*rant*]]></dc:creator><pubDate>Sat, 22 Nov 2008 17:47:31 GMT</pubDate></item></channel></rss>