<?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[Auswertungsreihenfolge]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich wollte wissen ob der C++ Standard vorschreibt in welcher Reihenfolge Ausdrücke in if- und for-Anweisungen ausgewertet werden müssen?</p>
<p>Ich dachte da an folgendes:</p>
<pre><code class="language-cpp">for (Element element = first; element-&gt;getNext() != NULL &amp;&amp; element-&gt;getNext()-&gt;getValue() &lt; value; element = element-&gt;getNext());
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">if (element-&gt;getNext() != NULL &amp;&amp; element-&gt;getNext-&gt;getKey() == value) ...
</code></pre>
<p>Kann ich sicher sein, dass der Ausdruck zuerst links ausgewertet wird(also die Prüfung ob element-&gt;getNext() NULL ist) oder kann es passieren, dass ich eine Null Pointer Exception bekomme, da zuerst das rechte überprüft wurde?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/235351/auswertungsreihenfolge</link><generator>RSS for Node</generator><lastBuildDate>Thu, 24 Sep 2026 05:42:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/235351.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 28 Feb 2009 19:47:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Auswertungsreihenfolge on Sat, 28 Feb 2009 19:47:44 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich wollte wissen ob der C++ Standard vorschreibt in welcher Reihenfolge Ausdrücke in if- und for-Anweisungen ausgewertet werden müssen?</p>
<p>Ich dachte da an folgendes:</p>
<pre><code class="language-cpp">for (Element element = first; element-&gt;getNext() != NULL &amp;&amp; element-&gt;getNext()-&gt;getValue() &lt; value; element = element-&gt;getNext());
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">if (element-&gt;getNext() != NULL &amp;&amp; element-&gt;getNext-&gt;getKey() == value) ...
</code></pre>
<p>Kann ich sicher sein, dass der Ausdruck zuerst links ausgewertet wird(also die Prüfung ob element-&gt;getNext() NULL ist) oder kann es passieren, dass ich eine Null Pointer Exception bekomme, da zuerst das rechte überprüft wurde?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672141</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672141</guid><dc:creator><![CDATA[ZzetT]]></dc:creator><pubDate>Sat, 28 Feb 2009 19:47:44 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge on Sat, 28 Feb 2009 19:56:40 GMT]]></title><description><![CDATA[<p>bei &amp;&amp; ist es sicher, solange kein scherzkeks den operator überladen hat.<br />
am bestenm du suchst nach &quot;c++ sequence point&quot;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672146</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672146</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 28 Feb 2009 19:56:40 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge on Sat, 28 Feb 2009 20:07:32 GMT]]></title><description><![CDATA[<p>btw gibts auch nen komma-operator:</p>
<pre><code class="language-cpp">for (0; 1, 1; 0)
{}
</code></pre>
<p>bb</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/106">@volkard</a>: Warum sollte sich die Reihenfolge durch die Überladung ändern? Oo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672150</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672150</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 28 Feb 2009 20:07:32 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge on Sat, 28 Feb 2009 20:10:59 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/106">@volkard</a>: Warum sollte sich die Reihenfolge durch die Überladung ändern? Oo</p>
</blockquote>
<p>weils dann nur ein schlichter funktionsaufruf ist. und bei foo(a,b) werden beide ausgewertet und es ist noch nichtmal sicher, ob a oder b zuerst kommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672151</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672151</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 28 Feb 2009 20:10:59 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge on Sat, 28 Feb 2009 20:13:23 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>unskilled schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/106">@volkard</a>: Warum sollte sich die Reihenfolge durch die Überladung ändern? Oo</p>
</blockquote>
<p>weils dann nur ein schlichter funktionsaufruf ist. und bei foo(a,b) werden beide ausgewertet und es ist noch nichtmal sicher, ob a oder b zuerst kommt.</p>
</blockquote>
<p>ok - ist logisch... mein fehler - danke ^^</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672153</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672153</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Sat, 28 Feb 2009 20:13:23 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge on Sat, 28 Feb 2009 20:45:55 GMT]]></title><description><![CDATA[<p>danke auch <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/1672163</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672163</guid><dc:creator><![CDATA[ZzetT]]></dc:creator><pubDate>Sat, 28 Feb 2009 20:45:55 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge on Sun, 01 Mar 2009 22:34:11 GMT]]></title><description><![CDATA[<p>Bei dem logischen And-, Or- und dem Komma-Operator ist vom Standard garantiert, dass der linke Teil zuerst ausgewertet wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1672564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1672564</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sun, 01 Mar 2009 22:34:11 GMT</pubDate></item></channel></rss>