<?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[Fragen zu Referenzen]]></title><description><![CDATA[<p>Bin immer noch am lernen von Referenzen und Zeigern. Ich möchte da in details verstehen:</p>
<ol>
<li></li>
</ol>
<p>Ich les grad Referenzen haben keinen Speicherplatz.</p>
<p>Wenn es keinen Speicherplatz hat, also nicht auf RAM, wo wird die Definition Referenz abgelegt?</p>
<p>Oder gar nicht - wird etwa beim kompilieren weggelöscht?</p>
<pre><code class="language-cpp">int i = 5;
int &amp;r = i;
++r;
</code></pre>
<p>wird nach dem compilieren nur noch so aussehen?</p>
<pre><code class="language-cpp">int i = 5; 
++i;
</code></pre>
<p>Weil Referenz=Alias wie im Windows haben Verknüpfungen als anklickbare Icons auch ein bißchen kilobytes.</p>
<p>2. Zweite Frage im Zusammenhang mit Konstante:</p>
<p>&quot;Ein Read-Only-Bezeichner kann im Gegensatz zu einer &quot;normalen&quot; Referenz mit einer Konstanten initialisiert werden:</p>
<pre><code class="language-cpp">const double &amp;pi = 3.14159;
</code></pre>
<p>ist das dann sowas wie</p>
<pre><code class="language-cpp">const double pi = 3.14159;
</code></pre>
<p>??</p>
<p>&quot;Da die Konstante keinen Speicherplatz besitzt, legt der Compiler ein temporäres Objekt an, das referenziert wird.&quot;</p>
<p>Also temporäres Objekt selber belegt schon Speicherplatz oder?<br />
Wenn ich &quot;cout &lt;&lt; &amp;pi &lt;&lt; endl;&quot; mach, seh ich die Speicheradresse.</p>
<ol start="3">
<li></li>
</ol>
<p>was ist der Unterschied zwischen</p>
<pre><code class="language-cpp">int&amp; r = i;
</code></pre>
<p>und</p>
<pre><code class="language-cpp">int &amp;r = i;
</code></pre>
<p>nur Lesbarkeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/164938/fragen-zu-referenzen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 03:19:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164938.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Nov 2006 22:15:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fragen zu Referenzen on Mon, 13 Nov 2006 22:16:55 GMT]]></title><description><![CDATA[<p>Bin immer noch am lernen von Referenzen und Zeigern. Ich möchte da in details verstehen:</p>
<ol>
<li></li>
</ol>
<p>Ich les grad Referenzen haben keinen Speicherplatz.</p>
<p>Wenn es keinen Speicherplatz hat, also nicht auf RAM, wo wird die Definition Referenz abgelegt?</p>
<p>Oder gar nicht - wird etwa beim kompilieren weggelöscht?</p>
<pre><code class="language-cpp">int i = 5;
int &amp;r = i;
++r;
</code></pre>
<p>wird nach dem compilieren nur noch so aussehen?</p>
<pre><code class="language-cpp">int i = 5; 
++i;
</code></pre>
<p>Weil Referenz=Alias wie im Windows haben Verknüpfungen als anklickbare Icons auch ein bißchen kilobytes.</p>
<p>2. Zweite Frage im Zusammenhang mit Konstante:</p>
<p>&quot;Ein Read-Only-Bezeichner kann im Gegensatz zu einer &quot;normalen&quot; Referenz mit einer Konstanten initialisiert werden:</p>
<pre><code class="language-cpp">const double &amp;pi = 3.14159;
</code></pre>
<p>ist das dann sowas wie</p>
<pre><code class="language-cpp">const double pi = 3.14159;
</code></pre>
<p>??</p>
<p>&quot;Da die Konstante keinen Speicherplatz besitzt, legt der Compiler ein temporäres Objekt an, das referenziert wird.&quot;</p>
<p>Also temporäres Objekt selber belegt schon Speicherplatz oder?<br />
Wenn ich &quot;cout &lt;&lt; &amp;pi &lt;&lt; endl;&quot; mach, seh ich die Speicheradresse.</p>
<ol start="3">
<li></li>
</ol>
<p>was ist der Unterschied zwischen</p>
<pre><code class="language-cpp">int&amp; r = i;
</code></pre>
<p>und</p>
<pre><code class="language-cpp">int &amp;r = i;
</code></pre>
<p>nur Lesbarkeit?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174087</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Mon, 13 Nov 2006 22:16:55 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Referenzen on Mon, 13 Nov 2006 22:27:16 GMT]]></title><description><![CDATA[<p>Zu 1.</p>
<blockquote>
<p>Ich les grad Referenzen haben keinen Speicherplatz.</p>
</blockquote>
<p>Wer hat dir den Unsinn erzählt? Klar belegen auch Referenzen Speicher. Nur (meist) nicht so viel wie die Referenzierten Objekte selbst.</p>
<p>Der Trick dabei ist, das Objekte (z.B. bei Übergabe an Funktionsparameter) nicht Kopiert werden müssen, was enorm viel Zeit beanspruchen kann.</p>
<p>Zu 2.<br />
Ja, kann genauso verwendet werden.</p>
<p>Zu 3.<br />
Keiner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174092</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Mon, 13 Nov 2006 22:27:16 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Referenzen on Mon, 13 Nov 2006 22:42:30 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<ol>
<li></li>
</ol>
<p>Ich les grad Referenzen haben keinen Speicherplatz.</p>
<p>Wenn es keinen Speicherplatz hat, also nicht auf RAM, wo wird die Definition Referenz abgelegt?</p>
<p>Oder gar nicht - wird etwa beim kompilieren weggelöscht?</p>
<pre><code class="language-cpp">int i = 5;
int &amp;r = i;
++r;
</code></pre>
<p>wird nach dem compilieren nur noch so aussehen?</p>
<pre><code class="language-cpp">int i = 5; 
++i;
</code></pre>
</blockquote>
<p>jup. in dem fall belegt die refertenz keinen speicherplatz. der compiler optimiert das schon, genau wie du angenommen hast.<br />
aber wenn du referenzen als members oder als funktionsparameter benutzt, belegen sie so viel wie ein zeiger.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174094</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Mon, 13 Nov 2006 22:42:30 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Referenzen on Tue, 14 Nov 2006 03:28:08 GMT]]></title><description><![CDATA[<p>Hallo liebe community nochmal,</p>
<blockquote>
<p>Wer hat dir den Unsinn erzählt? Klar belegen auch Referenzen Speicher. Nur (meist) nicht so viel wie die Referenzierten Objekte selbst.</p>
</blockquote>
<p>und kann man diese adressen auch wiedergeben? ich seh nur die adresse von orginal-variable?</p>
<p>neue Frage:</p>
<p>ich les grad diesen Text <a href="http://tutorial.schornboeck.net/referenzen.htm" rel="nofollow">http://tutorial.schornboeck.net/referenzen.htm</a><br />
ganz unten steht dass es eine referenz-falle gibt. ich hab diesen quellcode kompilieren lassen und das Ergebnis kommt trotzdem 7 raus statt undefinied oder so</p>
<p>hat der compiler das etwa korrigiert oder wie?<br />
(mein compiler von visual studio 2005)</p>
<p>vielen dank</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174127</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Tue, 14 Nov 2006 03:28:08 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Referenzen on Tue, 14 Nov 2006 04:11:55 GMT]]></title><description><![CDATA[<blockquote>
<p>hat der compiler das etwa korrigiert oder wie?</p>
</blockquote>
<p>Nö, der hat nicht wirklich was korrigiert, aber er hat Code erzeugt der grad zufällig trotzdem geht. Der Punkt ist dass du dich nicht darauf verlassen kannst dass es geht, und dass der Standard sagt dass es undefiniertes Verhalten ist, aka böse <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Mit anderen Worten: es zu verwenden nur weil es in einem einfachen Beispiel geht ist ganz ganz schlecht.</p>
<p>Füge mal zwischen dem Funktionsaufruf und der &quot;cout&quot; Zeile ca. sowas ein:</p>
<pre><code class="language-cpp">char buffer[1024]={};
    sprintf(buffer, &quot;%d&quot;, time(0));
</code></pre>
<p>Denke dann wird das programm nichtmehr 7 anzeigen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174129</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174129</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 14 Nov 2006 04:11:55 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Referenzen on Tue, 14 Nov 2006 04:26:18 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<blockquote>
<p>hat der compiler das etwa korrigiert oder wie?</p>
</blockquote>
<p>Nö, der hat nicht wirklich was korrigiert, aber er hat Code erzeugt der grad zufällig trotzdem geht. Der Punkt ist dass du dich nicht darauf verlassen kannst dass es geht, und dass der Standard sagt dass es undefiniertes Verhalten ist, aka böse <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
Mit anderen Worten: es zu verwenden nur weil es in einem einfachen Beispiel geht ist ganz ganz schlecht.</p>
<p>Füge mal zwischen dem Funktionsaufruf und der &quot;cout&quot; Zeile ca. sowas ein:</p>
<pre><code class="language-cpp">char buffer[1024]={};
    sprintf(buffer, &quot;%d&quot;, time(0));
</code></pre>
<p>Denke dann wird das programm nichtmehr 7 anzeigen.</p>
</blockquote>
<p>hmm tatsächlich! Ich musste time(0) löschen, weil der Compiler das nicht kennt. Was sollte man includieren?</p>
<p>Ich bin blutiger Anfänger!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174131</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174131</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Tue, 14 Nov 2006 04:26:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Referenzen on Tue, 14 Nov 2006 06:23:49 GMT]]></title><description><![CDATA[<p>achso hab...es ist #include &lt;ctime&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174147</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174147</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Tue, 14 Nov 2006 06:23:49 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Referenzen on Tue, 14 Nov 2006 06:47:31 GMT]]></title><description><![CDATA[<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>Hallo liebe community nochmal,</p>
<blockquote>
<p>Wer hat dir den Unsinn erzählt? Klar belegen auch Referenzen Speicher. Nur (meist) nicht so viel wie die Referenzierten Objekte selbst.</p>
</blockquote>
<p>und kann man diese adressen auch wiedergeben? ich seh nur die adresse von orginal-variable?</p>
</blockquote>
<p>Alles andere wäre Unsinn!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174154</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174154</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Tue, 14 Nov 2006 06:47:31 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Referenzen on Tue, 14 Nov 2006 09:06:18 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<p>xBlackKnightx schrieb:</p>
<blockquote>
<p>Hallo liebe community nochmal,</p>
<blockquote>
<p>Wer hat dir den Unsinn erzählt? Klar belegen auch Referenzen Speicher. Nur (meist) nicht so viel wie die Referenzierten Objekte selbst.</p>
</blockquote>
<p>und kann man diese adressen auch wiedergeben? ich seh nur die adresse von orginal-variable?</p>
</blockquote>
<p>Alles andere wäre Unsinn!</p>
</blockquote>
<p>meinst also, dass eine Referenz selbst seine Adresse wiedergibt, Unsinn wäre und deshalb sowas in C++ nicht diese Möglichkeit bieten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174250</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174250</guid><dc:creator><![CDATA[xBlackKnightx]]></dc:creator><pubDate>Tue, 14 Nov 2006 09:06:18 GMT</pubDate></item><item><title><![CDATA[Reply to Fragen zu Referenzen on Tue, 14 Nov 2006 09:47:13 GMT]]></title><description><![CDATA[<p>Eine Referenz ist ein Alias für ein Objekt, warum sollte eine Referenz also selbst addressierbar sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1174289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1174289</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Tue, 14 Nov 2006 09:47:13 GMT</pubDate></item></channel></rss>