<?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[Referenz -&amp;gt; Referenz auf Pointer?]]></title><description><![CDATA[<pre><code class="language-cpp">void
Klasse::update(Liste*&amp; liste) const
{
    liste = getListe(); // getListe liefert Liste&amp;
}
</code></pre>
<p>Kann ich die zurückgelieferte Referenz <em>Liste&amp;</em> irgendwie auf <em>Liste</em>&amp;* casten?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/140796/referenz-gt-referenz-auf-pointer</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 10:00:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/140796.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 17 Mar 2006 12:29:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Fri, 17 Mar 2006 12:29:02 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void
Klasse::update(Liste*&amp; liste) const
{
    liste = getListe(); // getListe liefert Liste&amp;
}
</code></pre>
<p>Kann ich die zurückgelieferte Referenz <em>Liste&amp;</em> irgendwie auf <em>Liste</em>&amp;* casten?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018214</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018214</guid><dc:creator><![CDATA[ConstRef]]></dc:creator><pubDate>Fri, 17 Mar 2006 12:29:02 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Fri, 17 Mar 2006 12:33:59 GMT]]></title><description><![CDATA[<p>Hallo,<br />
du musst nichts casten. Nur die Adresse bilden:</p>
<pre><code class="language-cpp">liste = &amp;getListe();
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1018223</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018223</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Fri, 17 Mar 2006 12:33:59 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Fri, 17 Mar 2006 12:55:24 GMT]]></title><description><![CDATA[<p>was bringt uns eine referenz auf pointer?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018255</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018255</guid><dc:creator><![CDATA[sinn]]></dc:creator><pubDate>Fri, 17 Mar 2006 12:55:24 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Fri, 17 Mar 2006 13:10:03 GMT]]></title><description><![CDATA[<p>Ganz einfach: Du kannst in der Funktion beeinflussen wo der aussen übergebene Zeiger später hinzeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018273</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Fri, 17 Mar 2006 13:10:03 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Fri, 17 Mar 2006 14:49:14 GMT]]></title><description><![CDATA[<p>dann übergeb ich doch gleich nur einen pointer?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018406</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018406</guid><dc:creator><![CDATA[sinn]]></dc:creator><pubDate>Fri, 17 Mar 2006 14:49:14 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Fri, 17 Mar 2006 14:56:42 GMT]]></title><description><![CDATA[<p>Dann geht das ja nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018417</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018417</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 17 Mar 2006 14:56:42 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Fri, 17 Mar 2006 16:28:48 GMT]]></title><description><![CDATA[<p>dann eben einen pointer auf einen pointer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018472</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Fri, 17 Mar 2006 16:28:48 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Fri, 17 Mar 2006 16:54:38 GMT]]></title><description><![CDATA[<p>Dann lautet die Frage aber: Warum überhaupt Referenzen? und nicht: Warum Referenzen auf Pointer? <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="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018487</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018487</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 17 Mar 2006 16:54:38 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Fri, 17 Mar 2006 23:39:22 GMT]]></title><description><![CDATA[<p>Dann geht das ja nicht.</p>
<p>warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018755</guid><dc:creator><![CDATA[sinn]]></dc:creator><pubDate>Fri, 17 Mar 2006 23:39:22 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 08:13:52 GMT]]></title><description><![CDATA[<p>sinn schrieb:</p>
<blockquote>
<p>warum?</p>
</blockquote>
<p>Weil du dann nur die lokale Kopie des Pointers verändern kannst, aber nicht das Original.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018803</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Sat, 18 Mar 2006 08:13:52 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 12:10:30 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void change(int *value1, int *value2) {
   *value2 = *value1;
}

int main()
{
   int zahl1 = 1;
   int zahl2 = 2;
   int *pzahl1 = &amp;zahl1;
   int *pzahl2 = &amp;zahl2;

   change(pzahl1, pzahl2);
}
</code></pre>
<p>ich ändere hier ja die orginale kopie? -&gt; call by reference?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1018923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018923</guid><dc:creator><![CDATA[sinn]]></dc:creator><pubDate>Sat, 18 Mar 2006 12:10:30 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 12:20:28 GMT]]></title><description><![CDATA[<p>Zeiger werden immer Call by Value übergeben<br />
Referenzen immer Call by Reference - darum heißen die Dinger ja auch so <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/1018933</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018933</guid><dc:creator><![CDATA[Vertexwahn]]></dc:creator><pubDate>Sat, 18 Mar 2006 12:20:28 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 12:23:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void makeNewData(int *&amp; feld)
{
  feld = new int[100];
}
</code></pre>
<p>@sinn: Abgesehen davon dass das schöner geht versuch das ohne Referenz (_und_ ohne Indirektion) <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/1018935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1018935</guid><dc:creator><![CDATA[LordJaxom]]></dc:creator><pubDate>Sat, 18 Mar 2006 12:23:06 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 13:41:41 GMT]]></title><description><![CDATA[<p>das schau ja nett aus...</p>
<p>aber ich verseh diesen satz nicht:</p>
<blockquote>
<p>Weil du dann nur die lokale Kopie des Pointers verändern kannst, aber nicht das Original.</p>
</blockquote>
<p>zeig mal ein beispiel!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1019022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1019022</guid><dc:creator><![CDATA[sinn]]></dc:creator><pubDate>Sat, 18 Mar 2006 13:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 13:56:37 GMT]]></title><description><![CDATA[<p>wie willst du das schöner machen, außer ohne in einen konstr. zu packen?<br />
Indirektion?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1019031</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1019031</guid><dc:creator><![CDATA[sinn]]></dc:creator><pubDate>Sat, 18 Mar 2006 13:56:37 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 14:05:18 GMT]]></title><description><![CDATA[<blockquote>
<p>aber ich verseh diesen satz nicht:</p>
</blockquote>
<p>ich glaub dir ist einfach nicht klar das ein Zeiger Call by Value übergeben wird</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1019034</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1019034</guid><dc:creator><![CDATA[Vertexwahn]]></dc:creator><pubDate>Sat, 18 Mar 2006 14:05:18 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 14:24:43 GMT]]></title><description><![CDATA[<p>Es wurden eigentlich schon Beispiele gezeigt...</p>
<p>Aber ich glaube, dir ist der Unterschied zwischen einem Pointer und dem Objekt, auf das der Pointer zeigt, nicht klar.</p>
<p>Bsp:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

void foo(char * p2)
{
    std::cout &lt;&lt; &quot;in foo: &quot; &lt;&lt; p2 &lt;&lt; std::endl;
    p2++;
    std::cout &lt;&lt; &quot;in foo: &quot; &lt;&lt; p2 &lt;&lt; std::endl;
}

int main()
{
    char str[] = &quot;Hallo&quot;;
    char * p = str;
    std::cout &lt;&lt; &quot;in main: &quot; &lt;&lt; p &lt;&lt; std::endl;
    foo(p);
    std::cout &lt;&lt; &quot;in main: &quot; &lt;&lt; p &lt;&lt; std::endl;
}
</code></pre>
<p>Als erstes wird ein Pointer auf ein char-Array mit dem Inhalt &quot;Hallo&quot; angelegt (besser gesagt ein Pointer auf das erste Element des Arrays).<br />
Dann wird der String mittels dem Pointer ausgegeben, wie zu erwarten erscheint ein &quot;Hallo&quot;.<br />
Anschließend wird die Funktion foo mit diesem Pointer als Parameter aufgerufen.<br />
Zur Verdeutlichung wird der String nochmals ausgegeben (wieder &quot;Hallo&quot;).<br />
Jetzt wird der Pointer p2, der ja auf das char-Array str zeigt, in der Funktion um eins inkrementiert, in diesem Fall heißt das, dass er auf das nächste Zeichen zeigt.<br />
Wenn der String jetzt ausgegeben wird, erscheint nur noch &quot;allo&quot;, da p2 ja jetzt auf das 'a' zeigt.<br />
Danach wird die Funktion foo verlassen, und im Hauptprogramm nochmals der String mittels dem Pointer p ausgegeben, und siehe da, es erscheint wieder &quot;Hallo&quot;.</p>
<p>Das bedeutet also, dass, obwohl der Pointer p2 innerhalb der Funktion verändert wird, der Pointer p in main unbeeinflusst bleibt.</p>
<p>Tja, und der Grund dafür ist eben, dass der Pointer p nicht direkt (by Reference) der Funktion foo übergeben wird, sondern nur eine Kopie (by Value) von p.<br />
Diese Kopie zeigt aber natürlich auch auf das char-Array str.</p>
<p>Du kannst also das Objekt, auf das der Pointer zeigt, über die Funktion ändern, aber nicht den übergebenen Pointer selbst (außer du benutzt eben eine Referenz oder einen Pointer auf diesen Pointer, wie im ersten Post).</p>
<p>Ich hoffe, das wurde dir jetzt klar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1019046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1019046</guid><dc:creator><![CDATA[michba]]></dc:creator><pubDate>Sat, 18 Mar 2006 14:24:43 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 15:17:09 GMT]]></title><description><![CDATA[<p>wie baut man die void makeNewData(int *&amp; feld) funktion schöner?</p>
<p>und wenn ich in der funktion mache:</p>
<pre><code class="language-cpp">strcpy(p2, &quot;hi du&quot;);
</code></pre>
<p>dann wirkt sich ja das auch auf *p in der main aus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1019087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1019087</guid><dc:creator><![CDATA[sinn]]></dc:creator><pubDate>Sat, 18 Mar 2006 15:17:09 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 15:31:46 GMT]]></title><description><![CDATA[<p>sinn schrieb:</p>
<blockquote>
<p>und wenn ich in der funktion mache:</p>
<pre><code class="language-cpp">strcpy(p2, &quot;hi du&quot;);
</code></pre>
<p>dann wirkt sich ja das auch auf *p in der main aus!</p>
</blockquote>
<p>Ja, das ist klar. Da mit *****p der Pointer dereferenziert, d.h. das Objekt, auf das der Zeiger zeigt, angesprochen wird, und dieses wird ja verändert.<br />
Aber der Pointer <strong>an sich</strong>, der ja auch ein eigenes Objekt ist, wird <strong>nicht</strong> verändert.</p>
<p>Wenn du es immer noch nicht verstanden hast, lies dir mal den Artikel über Pointer hier im Magazin-Teil durch und schau dir dann nochmal den ganzen Thread hier an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1019112</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1019112</guid><dc:creator><![CDATA[michba]]></dc:creator><pubDate>Sat, 18 Mar 2006 15:31:46 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 17:17:15 GMT]]></title><description><![CDATA[<p>#include &lt;stdio.h&gt;</p>
<p>int einlesenint(void)<br />
{<br />
int zahl=0,exp=0;</p>
<p>printf(&quot;Geben sie eine zahl ein:&quot;);<br />
scanf(&quot;%d&quot;,&amp;zahl);<br />
printf(&quot;Geben sie den exponenten ein:&quot;);<br />
scanf(&quot;%d&quot;,&amp;exp);</p>
<p>return exp;</p>
<p>}</p>
<p>int verarbeitung(int exp,int zahl)<br />
{<br />
int erg=0;</p>
<p>erg=erg*exp;</p>
<p>return erg;<br />
}</p>
<p>int ausgabe(int erg)<br />
{</p>
<p>printf(&quot;das ergebnis lautet:&quot;);<br />
scanf(&quot;%d&quot;,&amp;erg);</p>
<p>return erg;<br />
}</p>
<p>welchen fehler habe ich gemacht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1019177</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1019177</guid><dc:creator><![CDATA[gast1990]]></dc:creator><pubDate>Sat, 18 Mar 2006 17:17:15 GMT</pubDate></item><item><title><![CDATA[Reply to Referenz -&amp;gt; Referenz auf Pointer? on Sat, 18 Mar 2006 17:37:57 GMT]]></title><description><![CDATA[<p>gast1990 schrieb:</p>
<blockquote>
<p>welchen fehler habe ich gemacht?</p>
</blockquote>
<p>Es müsste heißen welche Fehler habe ich gemacht.<br />
1. Du hast im falschen Bereich gepostet.<br />
2. Du hast im falschen Thema gepostet.<br />
3. Du hast keine main.<br />
4. Das scanf in ausgabe macht nicht wirklich Sinn.<br />
5. zahl aus einlesenint geht verloren.<br />
6. in verarbeitung multiplizierst du mit 0,nicht mit zahl.<br />
7. macht verarbeitung generell nicht was die Variablenbezeichner vermuten lassen.</p>
<p>Auf deine Frage welchen Fehler du gemacht hast,kann man festhalten: <strong>alle!</strong></p>
<p>MfG Spacelord</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1019193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1019193</guid><dc:creator><![CDATA[Spacelord]]></dc:creator><pubDate>Sat, 18 Mar 2006 17:37:57 GMT</pubDate></item></channel></rss>