<?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[Vorrang von operatoren]]></title><description><![CDATA[<p>Guten tag,<br />
In meinem Buch steht:</p>
<blockquote>
<p>Beispiele:<br />
1. i += 3; ist äquivalent zu i = i + 3;<br />
2. i *= j + 2; ist äquivalent zu i = i * (j+2);<br />
Das zweite Beispiel zeigt, dass bei einer zusammengesetzten Zuweisung implizit<br />
geklammert wird. Dies ergibt sich aus der Tatsache, dass der Vorrang der zusammengesetzten<br />
Zuweisung ebenso niedrig ist wie bei der einfachen Zuweisung.</p>
</blockquote>
<p>Beispiel 1 vollkommen verständlich, Beispiel 2 nicht.<br />
ich denke mir das ja erst multipliziert wird und dann addiert, weil punkt vor strich, ich verstehe nicht warum dort geklammert wird..<br />
vielleicht kann mir das jemand anders formulieren</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/305955/vorrang-von-operatoren</link><generator>RSS for Node</generator><lastBuildDate>Sat, 08 Aug 2026 12:25:02 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/305955.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 13 Jul 2012 15:47:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Vorrang von operatoren on Fri, 13 Jul 2012 15:47:43 GMT]]></title><description><![CDATA[<p>Guten tag,<br />
In meinem Buch steht:</p>
<blockquote>
<p>Beispiele:<br />
1. i += 3; ist äquivalent zu i = i + 3;<br />
2. i *= j + 2; ist äquivalent zu i = i * (j+2);<br />
Das zweite Beispiel zeigt, dass bei einer zusammengesetzten Zuweisung implizit<br />
geklammert wird. Dies ergibt sich aus der Tatsache, dass der Vorrang der zusammengesetzten<br />
Zuweisung ebenso niedrig ist wie bei der einfachen Zuweisung.</p>
</blockquote>
<p>Beispiel 1 vollkommen verständlich, Beispiel 2 nicht.<br />
ich denke mir das ja erst multipliziert wird und dann addiert, weil punkt vor strich, ich verstehe nicht warum dort geklammert wird..<br />
vielleicht kann mir das jemand anders formulieren</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232504</guid><dc:creator><![CDATA[Fragözeichen]]></dc:creator><pubDate>Fri, 13 Jul 2012 15:47:43 GMT</pubDate></item><item><title><![CDATA[Reply to Vorrang von operatoren on Fri, 13 Jul 2012 15:52:26 GMT]]></title><description><![CDATA[<p>Na, ist halt einfach so und du hast unrecht. Anders wäre es auch nicht sehr sinnvoll:<br />
Hypothetisches Szenario, wie du es beschreibst:<br />
<code>i *= j + 2 ist äquivalent zu (i = i * j) + 2</code><br />
Das heißt, das <code>+ 2</code> würde gar nichts mehr an i verändern!</p>
<p>Deswegen sind die ganzen Zuweisungsoperatoren von der Priorität her so niedrig. Man will schließlich, dass das auf der rechten Seite erst ausgerechnet wird, bevor es auf das auf der linken Seite wirkt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232507</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232507</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 13 Jul 2012 15:52:26 GMT</pubDate></item><item><title><![CDATA[Reply to Vorrang von operatoren on Fri, 13 Jul 2012 15:53:52 GMT]]></title><description><![CDATA[<p>Danke, ich sollte vielleicht manchmal nicht alles hinterfragen..</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232508</guid><dc:creator><![CDATA[Fragözeichen]]></dc:creator><pubDate>Fri, 13 Jul 2012 15:53:52 GMT</pubDate></item><item><title><![CDATA[Reply to Vorrang von operatoren on Fri, 13 Jul 2012 16:04:34 GMT]]></title><description><![CDATA[<p>Fragözeichen schrieb:</p>
<blockquote>
<p>Danke, ich sollte vielleicht manchmal nicht alles hinterfragen..</p>
</blockquote>
<p>Doch, das ist eigentlich eine sehr gute Einstellung. Du hast nun hoffentlich etwas gelernt aus deiner Frage.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232516</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232516</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 13 Jul 2012 16:04:34 GMT</pubDate></item><item><title><![CDATA[Reply to Vorrang von operatoren on Fri, 13 Jul 2012 18:01:39 GMT]]></title><description><![CDATA[<p>Dass <code>i *= a</code> äquivalent ist zu <code>i = i * a</code> , bedeutet nicht, dass der Compiler da tatsächlich eine Textersetzung o.ä. durchführt und dann eventuell die Operatoren anders klammert. Stell dir den Operator als Funktionsaufruf vor:</p>
<pre><code class="language-cpp">int mul_eq(int&amp; i, int a) { return (i = i * a); }
</code></pre>
<p>Hier erwartest du ja auch nicht, dass bei <code>mul_eq(i, j+2)</code> eigentlich <code>(i*j)+2</code> errechnet wird, da die Argumente evaluiert werden, bevor sie an die Funktion gehen. Genau so ist es auch beim Operator.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2232544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2232544</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Fri, 13 Jul 2012 18:01:39 GMT</pubDate></item></channel></rss>