<?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[Frage zu Referenzen]]></title><description><![CDATA[<p>Hallo <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Wieso geht folgendes:</p>
<pre><code class="language-cpp">string&amp; Foo(string &amp;text)
{
	return(text);
}

string text(&quot;Ein bisschen Text&quot;);
string bar = Foo(text);
</code></pre>
<p>Wenn folgendes nicht geht?!</p>
<pre><code class="language-cpp">string foo(&quot;foo&quot;);
	string bar = &amp;foo;
</code></pre>
<p>Wo ist der Unterschied?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/140761/frage-zu-referenzen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 10:00:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140761.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Mar 2006 10:05:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Frage zu Referenzen on Fri, 17 Mar 2006 10:05:13 GMT]]></title><description><![CDATA[<p>Hallo <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
<p>Wieso geht folgendes:</p>
<pre><code class="language-cpp">string&amp; Foo(string &amp;text)
{
	return(text);
}

string text(&quot;Ein bisschen Text&quot;);
string bar = Foo(text);
</code></pre>
<p>Wenn folgendes nicht geht?!</p>
<pre><code class="language-cpp">string foo(&quot;foo&quot;);
	string bar = &amp;foo;
</code></pre>
<p>Wo ist der Unterschied?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018070</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018070</guid><dc:creator><![CDATA[Müh]]></dc:creator><pubDate>Fri, 17 Mar 2006 10:05:13 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Referenzen on Fri, 17 Mar 2006 10:25:57 GMT]]></title><description><![CDATA[<p>weil für der compiler das &amp; der 'adresse von' operator ist (im zweiten codeabschnitte) und keine referenz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018092</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018092</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Fri, 17 Mar 2006 10:25:57 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Referenzen on Fri, 17 Mar 2006 10:41:14 GMT]]></title><description><![CDATA[<p>Der &amp;-Operator ist Kontextabhängig. Er hat also in unterschiedlichen Situationen auch unterschiedliche Bedeutung. Das gleiche beim *-Operator.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018105</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 17 Mar 2006 10:41:14 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Referenzen on Fri, 17 Mar 2006 11:49:58 GMT]]></title><description><![CDATA[<p>Hmm ganz klar ist mir das noch nicht.</p>
<pre><code class="language-cpp">string text(&quot;Ein bisschen Text&quot;); 
	string &amp;ref = text;
	string bar = ref;  // Was passiert hier genau?!

	text.clear();
	cout&lt;&lt;text&lt;&lt;endl;
	cout&lt;&lt;bar&lt;&lt;endl;
</code></pre>
<p>Wieso steht in Bar noch &quot;Ein bisschen Text&quot;, wo ich text doch geleert habe?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018172</guid><dc:creator><![CDATA[müh]]></dc:creator><pubDate>Fri, 17 Mar 2006 11:49:58 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Referenzen on Fri, 17 Mar 2006 11:54:56 GMT]]></title><description><![CDATA[<p>müh schrieb:</p>
<blockquote>
<p>Wieso steht in Bar noch &quot;Ein bisschen Text&quot;, wo ich text doch geleert habe?</p>
</blockquote>
<p>...weil das object 'bar' vor dem clear erzeugt wird. 'bar' ist ein unabhängiger string, keine referenz auf 'text'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018175</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Fri, 17 Mar 2006 11:54:56 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Referenzen on Fri, 17 Mar 2006 12:23:34 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">string bar;
</code></pre>
<p>ist das gleiche wie</p>
<pre><code class="language-cpp">int i;
</code></pre>
<p>Du hast bei bar erstmal eine Variable angelegt, also wirklich physikalisch im Hauptspeicher ein eigenes Objekt.</p>
<p>Wenn du aber sowas machst:</p>
<pre><code class="language-cpp">string str(&quot;abc&quot;);
string &amp;bar = str;
</code></pre>
<p>ist bar kein Objekt im Hauptspeicher. Laut Stroustrup ist es vereinfacht gesagt ein anderer Name für ein Objekt. Es ist nur ein Namensschild auf dem bar draufsteht, aber das Namensschild gehört zu str.</p>
<pre><code class="language-cpp">string &amp;ref = text;
string bar = ref;  // Was passiert hier genau?!
</code></pre>
<p>Hier passiert hier folgendes: ref ist ein anderer Name für text. bar ist ein eigenes Objekt, bekommt den Inhalt von ref (welches eigentlich text ist) zugewiesen.</p>
<p>Fazit: im Hauptspeicher existieren nur 2 Objekte, nämlich text und bar. ref ist nur ein anderer Name (Referenz).</p>
<p>Wie gesagt, du mußt schauen wo das &amp;-Zeichen steht, um deren Beudeutung zu verstehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018202</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018202</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Fri, 17 Mar 2006 12:23:34 GMT</pubDate></item><item><title><![CDATA[Reply to Frage zu Referenzen on Fri, 17 Mar 2006 16:59:17 GMT]]></title><description><![CDATA[<p>Aus diesem Grunde schreiben C++-Programmierer häufig:</p>
<pre><code class="language-cpp">int&amp; i; // statt int &amp;i;
//bzw.
int* i; // statt int *i;
</code></pre>
<p>um zu zeigen, dass &amp; den Typ verändert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018490</guid><dc:creator><![CDATA[.filmor]]></dc:creator><pubDate>Fri, 17 Mar 2006 16:59:17 GMT</pubDate></item></channel></rss>