<?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[[geschlossen] &amp;quot;a &amp;amp;= b()&amp;quot; != &amp;quot;a = a &amp;amp;&amp;amp; b()&amp;quot; (Ausführverhalten) ?]]></title><description><![CDATA[<p>Ich bin gerade darüber gestolpert das auf dem Compiler den ich gerade verwende der Ausdruck b je nach Schreibweise ausgewertet wird, oder nicht:</p>
<pre><code class="language-cpp">bool foo() { /* ... */ }

int main() {
  bool a = false; // &lt;= Beachten: false

  a &amp;= foo();     // foo() wird ausgewertet &lt;= nicht erwartet
  a = a &amp;&amp; foo(); // foo() wird nicht ausgewertet &lt;= erwartet
}
</code></pre>
<p>Ich dachte immer die Schreibweise &quot;a &amp;= b&quot; soll eine gleichwertige Kurzform für &quot;a = a &amp;&amp; b&quot; sein, sprich sich auch gleich verhalten.</p>
<p>Wer hat nun recht: Der Compiler oder ich...</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/302906/geschlossen-quot-a-amp-b-quot-quot-a-a-amp-amp-b-quot-ausführverhalten</link><generator>RSS for Node</generator><lastBuildDate>Tue, 11 Aug 2026 02:08:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/302906.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Apr 2012 14:19:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [geschlossen] &amp;quot;a &amp;amp;= b()&amp;quot; != &amp;quot;a = a &amp;amp;&amp;amp; b()&amp;quot; (Ausführverhalten) ? on Mon, 30 Apr 2012 14:23:14 GMT]]></title><description><![CDATA[<p>Ich bin gerade darüber gestolpert das auf dem Compiler den ich gerade verwende der Ausdruck b je nach Schreibweise ausgewertet wird, oder nicht:</p>
<pre><code class="language-cpp">bool foo() { /* ... */ }

int main() {
  bool a = false; // &lt;= Beachten: false

  a &amp;= foo();     // foo() wird ausgewertet &lt;= nicht erwartet
  a = a &amp;&amp; foo(); // foo() wird nicht ausgewertet &lt;= erwartet
}
</code></pre>
<p>Ich dachte immer die Schreibweise &quot;a &amp;= b&quot; soll eine gleichwertige Kurzform für &quot;a = a &amp;&amp; b&quot; sein, sprich sich auch gleich verhalten.</p>
<p>Wer hat nun recht: Der Compiler oder ich...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2206962</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2206962</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 30 Apr 2012 14:23:14 GMT</pubDate></item><item><title><![CDATA[Reply to [geschlossen] &amp;quot;a &amp;amp;= b()&amp;quot; != &amp;quot;a = a &amp;amp;&amp;amp; b()&amp;quot; (Ausführverhalten) ? on Mon, 30 Apr 2012 14:22:40 GMT]]></title><description><![CDATA[<p>Dein Denkfehler ist, dass <code>a &amp;= b</code> <strong>NICHT</strong> <code>a = a &amp;&amp; b</code> bedeutet, <strong>SONDERN</strong> <code>a = a &amp; b</code> !!!!!</p>
<p><code>&amp;</code> ist nicht <code>&amp;&amp;</code> ! Das <code>&amp;</code> ist das binäre UND.</p>
<p>Ich hoffe das ist klar.</p>
<p>(Ob der Operator <code>&amp;&amp;=</code> existiert weiß ich nicht!)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2206965</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2206965</guid><dc:creator><![CDATA[Die erinnerung]]></dc:creator><pubDate>Mon, 30 Apr 2012 14:22:40 GMT</pubDate></item><item><title><![CDATA[Reply to [geschlossen] &amp;quot;a &amp;amp;= b()&amp;quot; != &amp;quot;a = a &amp;amp;&amp;amp; b()&amp;quot; (Ausführverhalten) ? on Mon, 30 Apr 2012 14:23:28 GMT]]></title><description><![CDATA[<p>a &amp;= b; ist eine Schreibweise für a = a &amp; b, also ein bitweises Oder. Für ein Bitweises oder müssen beide Argumente ausgewertet werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2206967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2206967</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Mon, 30 Apr 2012 14:23:28 GMT</pubDate></item><item><title><![CDATA[Reply to [geschlossen] &amp;quot;a &amp;amp;= b()&amp;quot; != &amp;quot;a = a &amp;amp;&amp;amp; b()&amp;quot; (Ausführverhalten) ? on Mon, 30 Apr 2012 14:24:06 GMT]]></title><description><![CDATA[<p>Manchmal sollte man nicht Programmieren wenn man etwas neben der Spur ist...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2206969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2206969</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Mon, 30 Apr 2012 14:24:06 GMT</pubDate></item></channel></rss>