<?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[if???]]></title><description><![CDATA[<p>Hi,<br />
kann man davon ausgehen, dass der Code in den Klammern immer ausgeführt wird???</p>
<pre><code class="language-cpp">int i=1;
if(i)
{
}
</code></pre>
<pre><code class="language-cpp">int i=0;
if(!i)
{
}
</code></pre>
<pre><code class="language-cpp">int i=IrgendwasUngleichNull;
if(i)
{
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/198902/if</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 17:32:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/198902.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 26 Nov 2007 20:40:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to if??? on Mon, 26 Nov 2007 20:40:57 GMT]]></title><description><![CDATA[<p>Hi,<br />
kann man davon ausgehen, dass der Code in den Klammern immer ausgeführt wird???</p>
<pre><code class="language-cpp">int i=1;
if(i)
{
}
</code></pre>
<pre><code class="language-cpp">int i=0;
if(!i)
{
}
</code></pre>
<pre><code class="language-cpp">int i=IrgendwasUngleichNull;
if(i)
{
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1410604</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1410604</guid><dc:creator><![CDATA[Standard?]]></dc:creator><pubDate>Mon, 26 Nov 2007 20:40:57 GMT</pubDate></item><item><title><![CDATA[Reply to if??? on Mon, 26 Nov 2007 20:46:05 GMT]]></title><description><![CDATA[<p>Ich denke mal dass der Compiler da bestimmte Sachen wegoptimieren darf, aber wichtige Sachen wie irgendwelche Funktionen die Attribute von Klassen ändern und was-weiß-ich-nicht trotzdem ausführen muss um den Programmfluss zu erhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1410607</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1410607</guid><dc:creator><![CDATA[The-Kenny]]></dc:creator><pubDate>Mon, 26 Nov 2007 20:46:05 GMT</pubDate></item><item><title><![CDATA[Reply to if??? on Mon, 26 Nov 2007 20:47:07 GMT]]></title><description><![CDATA[<p>Ja, aber probier es doch aus <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="🙂"
    /> Wobei natürlich die boolische Anordnung gilt (Bindungsordnung).</p>
<pre><code class="language-cpp">bool bar(std::size_t i) { std::cout &lt;&lt; i &lt;&lt; std::endl; return true; }

int main()
{
    if (bar(1) &amp;&amp; !bar(2) || !bar(3)) std::cout &lt;&lt; &quot;1, 2, 3&quot; &lt;&lt; std::endl;
    if (bar(1) || bar(2)) std::cout &lt;&lt; &quot;1, 2&quot; &lt;&lt; std::endl;
}
</code></pre>
<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1410608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1410608</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Mon, 26 Nov 2007 20:47:07 GMT</pubDate></item><item><title><![CDATA[Reply to if??? on Mon, 26 Nov 2007 22:36:43 GMT]]></title><description><![CDATA[<p>Das ist mir klar <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":\"
      alt="😕"
    /> Die Frage ist eher, ob der Standard das so garantiert und ich bei Compilerwechsel meinen Code nicht ändern muss...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1410660</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1410660</guid><dc:creator><![CDATA[Standard?]]></dc:creator><pubDate>Mon, 26 Nov 2007 22:36:43 GMT</pubDate></item><item><title><![CDATA[Reply to if??? on Tue, 27 Nov 2007 06:55:07 GMT]]></title><description><![CDATA[<p>Welcher Teil des if() ist dir denn unklar?</p>
<p>C(89) kannte noch keinen eigenständigen bool-Typ, darum hat es alle Bool-Berechnungen mit Integern durchgeführt - 0 wird als false bewertet, jeder andere Wert als true (boolesche Operatoren (&amp;&amp;, ||, !) und Vergleiche liefern afaik 0 oder 1 zurück). Und dieses Verhalten wurde auch von C++ übernommen (aus Kompatibilität und weil &quot;if(i)...&quot; kürzer ist als &quot;if(i!=0)...&quot;).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1410702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1410702</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 27 Nov 2007 06:55:07 GMT</pubDate></item></channel></rss>