<?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[Priotitätsproblem]]></title><description><![CDATA[<p>Ich hab ein Problem mit der Priorität des Postfixinkrement-Operator. Hier ein Beispiel dazu:</p>
<pre><code class="language-cpp">int main()
{
    int zahl[3] = {10,34,8};
    int *p = zahl;
    *p++ = 23; // !!!
    //p wurde 1 Feld erhöt. Befindet sich nun auf p[1]

    --p;

    for(size_t i = 0; i&lt;3; ++i)
    {
        cout &lt;&lt; p[i] &lt;&lt; endl;
    }

    return 0;
}
</code></pre>
<p>Ich verstehe die stelle</p>
<pre><code class="language-cpp">int *p++ = 23
</code></pre>
<p>nicht. Meiner Meinung nach wird erst inkrementiert und dann dereferenziert, also:</p>
<pre><code class="language-cpp">p++;
*p = 23;
</code></pre>
<p>Also wäre p[1] = 23. Dem ist aber nicht so, p[0] = 23....und genau dass verstehe ich nicht. Der Postfixinkrement-Operator hat doch eine höhere Priorität als der Dereferenzierungsoperator &quot;*&quot;?<br />
Aber trotzdem passiert hier folgendes:</p>
<pre><code class="language-cpp">*P = 23;
p++;
</code></pre>
<p>Also genau andersrum. Warum? In meinem C++ Buch ist in der &quot;Prioritäten Tabelle der Operatoren&quot; Postfixinkrement auf Platz 9 und Dereferenzierung auf Platz 22.<br />
Ich verstehe es nicht.</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/237962/priotitätsproblem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 23 Sep 2026 06:09:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/237962.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 04 Apr 2009 09:52:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Priotitätsproblem on Sat, 04 Apr 2009 09:52:35 GMT]]></title><description><![CDATA[<p>Ich hab ein Problem mit der Priorität des Postfixinkrement-Operator. Hier ein Beispiel dazu:</p>
<pre><code class="language-cpp">int main()
{
    int zahl[3] = {10,34,8};
    int *p = zahl;
    *p++ = 23; // !!!
    //p wurde 1 Feld erhöt. Befindet sich nun auf p[1]

    --p;

    for(size_t i = 0; i&lt;3; ++i)
    {
        cout &lt;&lt; p[i] &lt;&lt; endl;
    }

    return 0;
}
</code></pre>
<p>Ich verstehe die stelle</p>
<pre><code class="language-cpp">int *p++ = 23
</code></pre>
<p>nicht. Meiner Meinung nach wird erst inkrementiert und dann dereferenziert, also:</p>
<pre><code class="language-cpp">p++;
*p = 23;
</code></pre>
<p>Also wäre p[1] = 23. Dem ist aber nicht so, p[0] = 23....und genau dass verstehe ich nicht. Der Postfixinkrement-Operator hat doch eine höhere Priorität als der Dereferenzierungsoperator &quot;*&quot;?<br />
Aber trotzdem passiert hier folgendes:</p>
<pre><code class="language-cpp">*P = 23;
p++;
</code></pre>
<p>Also genau andersrum. Warum? In meinem C++ Buch ist in der &quot;Prioritäten Tabelle der Operatoren&quot; Postfixinkrement auf Platz 9 und Dereferenzierung auf Platz 22.<br />
Ich verstehe es nicht.</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690738</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sat, 04 Apr 2009 09:52:35 GMT</pubDate></item><item><title><![CDATA[Reply to Priotitätsproblem on Sat, 04 Apr 2009 10:04:14 GMT]]></title><description><![CDATA[<p>Beschäftigeste dich jetzt mit Pointern und Arrays <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>
<pre><code class="language-cpp">*++p = 23;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1690743</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690743</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Sat, 04 Apr 2009 10:04:14 GMT</pubDate></item><item><title><![CDATA[Reply to Priotitätsproblem on Sat, 04 Apr 2009 10:07:44 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">*++p = 23;
</code></pre>
<p>was ist damit? Hier benutzt du doch jetzt den Präfiinkrement oder?</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690745</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690745</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Sat, 04 Apr 2009 10:07:44 GMT</pubDate></item><item><title><![CDATA[Reply to Priotitätsproblem on Sat, 04 Apr 2009 10:16:33 GMT]]></title><description><![CDATA[<p>Der Postfixinkrement Operator inkrementiert den Wert und gibt den alten zurück, der Präfix Operator inkrementiert den Wert und gibt den neuen zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690751</guid><dc:creator><![CDATA[blub* 0]]></dc:creator><pubDate>Sat, 04 Apr 2009 10:16:33 GMT</pubDate></item><item><title><![CDATA[Reply to Priotitätsproblem on Sat, 04 Apr 2009 10:17:05 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>Ich verstehe die stelle</p>
<pre><code class="language-cpp">int *p++ = 23
</code></pre>
<p>nicht. Meiner Meinung nach wird erst inkrementiert und dann dereferenziert</p>
</blockquote>
<p>Wird auch. Du kennst doch den Post-++-Operator, der erhöht und gibt eine nicht-erhöhte Kopie zurück. &quot;p&quot; wird also als erstes um eins erhöht, wegen Post-++ wird eine Kopie des &quot;originalen&quot; Zeigers zurückgegeben, diese Kopie dereferenziert und zugewiesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1690752</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1690752</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sat, 04 Apr 2009 10:17:05 GMT</pubDate></item></channel></rss>