<?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[bool test = (Klasse::staticFunction(), false);]]></title><description><![CDATA[<p>Was genau passiert hierbei?</p>
<pre><code class="language-cpp">class Klasse{
public:
  static void staticFunction() { std::cout&lt;&lt;&quot;Jawoll&quot;&lt;&lt;endl;}
};

bool test = (Klasse::staticFunction(), false);

int main()
{
...
}
</code></pre>
<p>Also im Prinzip ist mir es klar. Bei Programmstart wird die statische Methode ausgeführt. Aber die Schreibweise irritiert mich etwas.<br />
Ist das nötig, weil staticFunction &quot;void&quot; als Rückgabewert hat und somit inkompatibel zu bool test ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/199227/bool-test-klasse-staticfunction-false</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 20:50:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/199227.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 30 Nov 2007 08:43:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to bool test = (Klasse::staticFunction(), false); on Fri, 30 Nov 2007 08:43:11 GMT]]></title><description><![CDATA[<p>Was genau passiert hierbei?</p>
<pre><code class="language-cpp">class Klasse{
public:
  static void staticFunction() { std::cout&lt;&lt;&quot;Jawoll&quot;&lt;&lt;endl;}
};

bool test = (Klasse::staticFunction(), false);

int main()
{
...
}
</code></pre>
<p>Also im Prinzip ist mir es klar. Bei Programmstart wird die statische Methode ausgeführt. Aber die Schreibweise irritiert mich etwas.<br />
Ist das nötig, weil staticFunction &quot;void&quot; als Rückgabewert hat und somit inkompatibel zu bool test ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1412711</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1412711</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Fri, 30 Nov 2007 08:43:11 GMT</pubDate></item><item><title><![CDATA[Reply to bool test = (Klasse::staticFunction(), false); on Fri, 30 Nov 2007 09:29:35 GMT]]></title><description><![CDATA[<p>Du setzt hier den berühmt-berüchtigten Komma-Operator ein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /><br />
Der Komma-Operator ist ein binärer Operator, so wie z.B. '+'. Er braucht also zwei Argumente, wertet erst das linke aus, dann das rechte, der Rückgabetyp des Operators ist dann das rechte Argument.<br />
Du kannst z.B. auch</p>
<pre><code class="language-cpp">int Func()
{
    return cout&lt;&lt;&quot;hallo&quot;&lt;&lt;endl, 10;
}
</code></pre>
<p>schreiben, hier wird 10 zurückgegeben und vorher das cout ausgeführt. Verrückte Sache und macht ein wenig die Übersicht im Programm kaputt (meiner Meinung nach).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1412715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1412715</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Fri, 30 Nov 2007 09:29:35 GMT</pubDate></item><item><title><![CDATA[Reply to bool test = (Klasse::staticFunction(), false); on Fri, 30 Nov 2007 08:54:27 GMT]]></title><description><![CDATA[<p>Ich finde den Komma-Operator ganz nett - an Stellen, wo er nützlich ist. Der erlaubt es letztendlich, mehrere Funktionsaufrufe als einen Ausdruck zusammenzufassen. Verwenden würde ich ihn eigentlich nur, wenn ich an der Stelle kein Statement einsetzen kann (z.B. im Update-Part einer for()-Schleife).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1412717</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1412717</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Fri, 30 Nov 2007 08:54:27 GMT</pubDate></item><item><title><![CDATA[Reply to bool test = (Klasse::staticFunction(), false); on Fri, 30 Nov 2007 09:01:33 GMT]]></title><description><![CDATA[<p>Badestrand schrieb:</p>
<blockquote>
<p>Du setzt hier den berühmt-berüchtigten Komma-Operator ein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /><br />
Der Komma-Operator ist ein binärer Operator, so wie z.B. '+'. Er braucht also zwei Argumente, wertet erst das linke aus, dann das rechte, der Rückgabetyp des Operators ist dann das linke Argument.<br />
Du kannst z.B. auch</p>
<pre><code class="language-cpp">int Func()
{
    return cout&lt;&lt;&quot;hallo&quot;&lt;&lt;endl, 10;
}
</code></pre>
<p>schreiben, hier wird 10 zurückgegeben und vorher das cout ausgeführt. Verrückte Sache und macht ein wenig die Übersicht im Programm kaputt (meiner Meinung nach).</p>
</blockquote>
<p>der Rückgabetyp ist aber das rechte argument, wenn ich es richtig sehe, oder?<br />
Ansonsten... wieder was dazugelernt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1412721</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1412721</guid><dc:creator><![CDATA[muffmolch]]></dc:creator><pubDate>Fri, 30 Nov 2007 09:01:33 GMT</pubDate></item><item><title><![CDATA[Reply to bool test = (Klasse::staticFunction(), false); on Fri, 30 Nov 2007 09:14:14 GMT]]></title><description><![CDATA[<p>Standard 5.18 1 (Comma operator)</p>
<blockquote>
<p>...The type and value of the result are the type and value of the right operand; the result is an lvalue if its right operand is.</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/1412730</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1412730</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 30 Nov 2007 09:14:14 GMT</pubDate></item></channel></rss>