<?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[Zeiger per Referenz als const übergeben; Warum so umständlich?]]></title><description><![CDATA[<p>Hi,</p>
<p>wenn ich z.B. folgende Methode habe:</p>
<pre><code class="language-cpp">void f( const CDummy*&amp; param );
</code></pre>
<p>und diese von irgendwo aufrufen will, z.B. so:</p>
<pre><code class="language-cpp">...
CDummy* d = new CDummy[5];
...
f(d);
</code></pre>
<p>Dann geht das nicht, weil der Compiler CDummy* nicht nach const CDummy*&amp; konvertieren kann. Wenn ich aber z.b. sowas mache:</p>
<pre><code class="language-cpp">...
CDummy* d = new CDummy[5];
...
const CDummy* pTmp = d;
f(pTmp);
</code></pre>
<p>Dann geht es natürlich. Ist aber halt nur ziemlich nervig, weil das so umständlich ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/187711/zeiger-per-referenz-als-const-übergeben-warum-so-umständlich</link><generator>RSS for Node</generator><lastBuildDate>Mon, 03 Aug 2026 00:43:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/187711.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Jul 2007 09:54:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zeiger per Referenz als const übergeben; Warum so umständlich? on Mon, 23 Jul 2007 09:54:21 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wenn ich z.B. folgende Methode habe:</p>
<pre><code class="language-cpp">void f( const CDummy*&amp; param );
</code></pre>
<p>und diese von irgendwo aufrufen will, z.B. so:</p>
<pre><code class="language-cpp">...
CDummy* d = new CDummy[5];
...
f(d);
</code></pre>
<p>Dann geht das nicht, weil der Compiler CDummy* nicht nach const CDummy*&amp; konvertieren kann. Wenn ich aber z.b. sowas mache:</p>
<pre><code class="language-cpp">...
CDummy* d = new CDummy[5];
...
const CDummy* pTmp = d;
f(pTmp);
</code></pre>
<p>Dann geht es natürlich. Ist aber halt nur ziemlich nervig, weil das so umständlich ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330677</guid><dc:creator><![CDATA[Arki]]></dc:creator><pubDate>Mon, 23 Jul 2007 09:54:21 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger per Referenz als const übergeben; Warum so umständlich? on Mon, 23 Jul 2007 09:56:39 GMT]]></title><description><![CDATA[<p>Wieso willst du den Zeiger denn per konstanter Referenz übergeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330679</guid><dc:creator><![CDATA[David_pb]]></dc:creator><pubDate>Mon, 23 Jul 2007 09:56:39 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger per Referenz als const übergeben; Warum so umständlich? on Mon, 23 Jul 2007 11:12:19 GMT]]></title><description><![CDATA[<p>Arki schrieb:</p>
<blockquote>
<pre><code class="language-cpp">void f( const CDummy*&amp; param );
</code></pre>
</blockquote>
<p>Hallo Leute. Bin nach wie vor C++-Noob und kenne folgenden Ausdruck nicht...</p>
<pre><code>*&amp;
</code></pre>
<p>Weiß zwar was beide Zeichen tun wenn man man sie einzeln verwendet, aber diese Kombination habe ich noch nie gesehen.<br />
Kann mir da jemand vielleicht ein Schlagwort nennen ? (Bitte nicht &quot;Google&quot;)</p>
<p>Danke</p>
<p>Blue</p>
<p>P.s.: Ups, hätte ich vielleicht nen eigenen Thread für die Frage aufmachen sollen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330742</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 23 Jul 2007 11:12:19 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger per Referenz als const übergeben; Warum so umständlich? on Mon, 23 Jul 2007 11:12:05 GMT]]></title><description><![CDATA[<p>Dann lös doch beide Zeichen nacheinander auf - das Konstrukt ergibt eine Referenz auf einen Zeiger auf einen 'const CDummy').</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330743</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 23 Jul 2007 11:12:05 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger per Referenz als const übergeben; Warum so umständlich? on Mon, 23 Jul 2007 11:24:09 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">int a = 44; // normale int definition
/* Speicher ( Adresse:Name:Wert)
 -----------------------
|  1000 |   a   |  44   |
 -----------------------
|  1004 |       |       |        
 -----------------------
*/

int *p = &amp;a; // Zeiger auf ein int 
/* Speicher ( Adresse:Name:Wert)
 -----------------------
|  1000 |   a   |  44   |
 -----------------------
|  1004 |   p   |  1000 |        
 -----------------------
*/

int &amp;ref1 = a; // Referenz auf ein int
/* Speicher ( Adresse:Name:Wert)
 --------------------------
|  1000 | a &amp; ref1 |  44   |
 --------------------------
|  1004 |   p   |  1000    |        
 --------------------------
*/

int *&amp;ref2 = p; // Referenz auf ein Zeiger-int
/* Speicher ( Adresse:Name:Wert)
 --------------------------
|  1000 | a &amp; ref1 |  44   |
 --------------------------
|  1004 | p &amp; ref2 |  1000 |        
 --------------------------
*/

void func( int*&amp; refPtr );
void func(p); // refPtr in func() ist jetzt nur ein anderer Name für den Pointer der übergeben wurde ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1330752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330752</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 23 Jul 2007 11:24:09 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger per Referenz als const übergeben; Warum so umständlich? on Mon, 23 Jul 2007 11:37:10 GMT]]></title><description><![CDATA[<p>Ahh, ich verstehe....<br />
Danke, schöne Erklärung.</p>
<p>Gruß</p>
<p>Blue</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1330764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1330764</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Mon, 23 Jul 2007 11:37:10 GMT</pubDate></item><item><title><![CDATA[Reply to Zeiger per Referenz als const übergeben; Warum so umständlich? on Tue, 24 Jul 2007 00:29:34 GMT]]></title><description><![CDATA[<p>@Arki:<br />
<a href="http://www.parashift.com/c++-faq-lite/const-correctness.html#faq-18.17" rel="nofollow">http://www.parashift.com/c++-faq-lite/const-correctness.html#faq-18.17</a></p>
<p>Ist genau das gleiche.<br />
Wenn du aus dem &quot;Foo const*&amp;&quot; ein &quot;Foo const*const&amp;&quot; machst geht es.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1331205</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1331205</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Tue, 24 Jul 2007 00:29:34 GMT</pubDate></item></channel></rss>