<?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[Wieso pointer mit &amp;amp; aber referenzen einfach so?]]></title><description><![CDATA[<p>Wieso gibts eigentlich für referenzen keinen operator?</p>
<pre><code class="language-cpp">void a(int x) {
}
void b(int&amp; x) {
}
void c(int* x) {
}

...

int y;
a(y);
b(y);
c(&amp;y);

//Warum nicht
b(§y) //oder sonst was?
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/164638/wieso-pointer-mit-amp-aber-referenzen-einfach-so</link><generator>RSS for Node</generator><lastBuildDate>Mon, 14 Sep 2026 01:07:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/164638.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 11 Nov 2006 07:54:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Wieso pointer mit &amp;amp; aber referenzen einfach so? on Sat, 11 Nov 2006 07:54:20 GMT]]></title><description><![CDATA[<p>Wieso gibts eigentlich für referenzen keinen operator?</p>
<pre><code class="language-cpp">void a(int x) {
}
void b(int&amp; x) {
}
void c(int* x) {
}

...

int y;
a(y);
b(y);
c(&amp;y);

//Warum nicht
b(§y) //oder sonst was?
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1172319</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172319</guid><dc:creator><![CDATA[sagsmal]]></dc:creator><pubDate>Sat, 11 Nov 2006 07:54:20 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso pointer mit &amp;amp; aber referenzen einfach so? on Sat, 11 Nov 2006 09:18:25 GMT]]></title><description><![CDATA[<p>&amp; ist kein operator für referenzen?<br />
* ist kein <strong>zeiger</strong>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172332</guid><dc:creator><![CDATA[confused]]></dc:creator><pubDate>Sat, 11 Nov 2006 09:18:25 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso pointer mit &amp;amp; aber referenzen einfach so? on Sat, 11 Nov 2006 09:18:39 GMT]]></title><description><![CDATA[<p>Weil sonst einer der Vorteile von Referenzen verloren ginge. Das sie schöner zu handhaben sind als Pointer.</p>
<p>grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172333</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Sat, 11 Nov 2006 09:18:39 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso pointer mit &amp;amp; aber referenzen einfach so? on Sat, 11 Nov 2006 09:21:15 GMT]]></title><description><![CDATA[<p>David_pb schrieb:</p>
<blockquote>
<p>Weil sonst einer der Vorteile von Referenzen verloren ginge. Das sie schöner zu handhaben sind als Pointer.</p>
<p>grüße</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1172335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172335</guid><dc:creator><![CDATA[Antwort schreiben]]></dc:creator><pubDate>Sat, 11 Nov 2006 09:21:15 GMT</pubDate></item><item><title><![CDATA[Reply to Wieso pointer mit &amp;amp; aber referenzen einfach so? on Sat, 11 Nov 2006 14:40:56 GMT]]></title><description><![CDATA[<p>sagsmal schrieb:</p>
<blockquote>
<p>Wieso gibts eigentlich für referenzen keinen operator?</p>
<pre><code class="language-cpp">void a(int x) ...
void b(int&amp; x) ...
//Warum nicht
b(§y) //oder sonst was?
</code></pre>
</blockquote>
<p>Die Frage ist eher, warum nicht a(§y). Was passiert bei so einem Aufruf? Wir haben eine Variable y, also einen LValue vom Typ int vorliegen. Die Funktion a erfordert aber eine Wertübergabe. Es wird also der <strong>Inhalt</strong> der Variablen y ausgelesen (technisch: eine LValue-nach-RValue-Umwandlung durchgeführt) und an den Aktualparameter der Funktion a zugewiesen.</p>
<p>Bei Funktion b wird diese Umwandlung nicht gemacht, weil die Referenz an den LValue y gebunden wird.</p>
<p>Man könnte also mit Recht argumentieren, dass die implizite Umwandlung bei Wertübergabe explizit gemacht werden soll. Man tut es nicht, weil es unpraktisch wäre und weil es bei C schon so war usw.</p>
<p>Funktion c macht auch nur eine Wertübergabe, diesmal des Pointers, da ist genauso wie bei a zu verfahren: c(§&amp;y) <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1172522</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1172522</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sat, 11 Nov 2006 14:40:56 GMT</pubDate></item></channel></rss>