<?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 von Parametern]]></title><description><![CDATA[<p>Morgen beisammen,</p>
<p>folgendes Konstrukt:</p>
<pre><code class="language-cpp">this-&gt;foo(bar(), _einMember);
</code></pre>
<p>kann ich sicher sein, dass <code>bar()</code> ausgeführt wird, bevor <code>_einMember</code> gelesen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/263340/auswertungsreihenfolge-von-parametern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 20:34:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/263340.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 19 Mar 2010 06:33:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Auswertungsreihenfolge von Parametern on Fri, 19 Mar 2010 06:33:32 GMT]]></title><description><![CDATA[<p>Morgen beisammen,</p>
<p>folgendes Konstrukt:</p>
<pre><code class="language-cpp">this-&gt;foo(bar(), _einMember);
</code></pre>
<p>kann ich sicher sein, dass <code>bar()</code> ausgeführt wird, bevor <code>_einMember</code> gelesen wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871172</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871172</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Fri, 19 Mar 2010 06:33:32 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge von Parametern on Fri, 19 Mar 2010 06:51:33 GMT]]></title><description><![CDATA[<p>Du kannst sicher sein das bar() ausgeführt wurde bevor _einMember in foo verwendet wird. Falls es das ist was du meinst.</p>
<p>Wenn ich mich recht erinnere werden parameter zu funktionsaufrufen von Rechts nach links abgearbeitet. Da könnte ich aber falsch liegen.</p>
<p>BR<br />
Vinzenz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871175</guid><dc:creator><![CDATA[evilissimo]]></dc:creator><pubDate>Fri, 19 Mar 2010 06:51:33 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge von Parametern on Fri, 19 Mar 2010 06:59:41 GMT]]></title><description><![CDATA[<p><a href="http://en.wikipedia.org/wiki/X86_calling_conventions" rel="nofollow">http://en.wikipedia.org/wiki/X86_calling_conventions</a></p>
<p>Sollte schon in Ordnung sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871176</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871176</guid><dc:creator><![CDATA[calling_conv]]></dc:creator><pubDate>Fri, 19 Mar 2010 06:59:41 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge von Parametern on Fri, 19 Mar 2010 08:41:16 GMT]]></title><description><![CDATA[<p>zwutz schrieb:</p>
<blockquote>
<p>kann ich sicher sein, dass <code>bar()</code> ausgeführt wird, bevor <code>_einMember</code> gelesen wird?</p>
</blockquote>
<p>Nein, die Auswertungsreihenfolge ist unspezifiziert. Mit der Calling Convention, insbesondere mit der Reihenfolge, in der die Argumente übergeben werden, hat das auch überhaupt nichts zu tun.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871179</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871179</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Fri, 19 Mar 2010 08:41:16 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge von Parametern on Fri, 19 Mar 2010 09:00:30 GMT]]></title><description><![CDATA[<p>zwutz schrieb:</p>
<blockquote>
<p>folgendes Konstrukt:</p>
<pre><code class="language-cpp">this-&gt;foo(bar(), _einMember);
</code></pre>
<p>kann ich sicher sein, dass <code>bar()</code> ausgeführt wird, bevor <code>_einMember</code> gelesen wird?</p>
</blockquote>
<p>Nein. Beispiel:</p>
<pre><code class="language-cpp">struct S
{
  int _einMember;
  int bar()
  {
    return 10* _einMember++;
  }
  void foo(int i1, int i2)
  {
    cout &lt;&lt; i1 &lt;&lt; ' ' &lt;&lt; i2 &lt;&lt; endl;
  }
  void do()
  {
    this-&gt;foo(bar(), _einMember);
  }
};

int main()
{
  S s; 
  s._einMember = 5;
  s.do();
}
</code></pre>
<p>ergibt entweder &quot;50 5&quot; oder &quot;50 6&quot;, je nachdem ob zuerst _einMember übergeben und dann bar() ausgewertet und übergeben wird oder andersrum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871200</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Fri, 19 Mar 2010 09:00:30 GMT</pubDate></item><item><title><![CDATA[Reply to Auswertungsreihenfolge von Parametern on Fri, 19 Mar 2010 17:52:25 GMT]]></title><description><![CDATA[<p>verdammt... danke</p>
<p>naja, kein Beinbruch, wollte mir nur die zusätzliche Zeile sparen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1871414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1871414</guid><dc:creator><![CDATA[zwutz]]></dc:creator><pubDate>Fri, 19 Mar 2010 17:52:25 GMT</pubDate></item></channel></rss>