<?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[Syntaxfrage]]></title><description><![CDATA[<p>Hi,</p>
<pre><code class="language-cpp">c=((m+1?m&gt;&gt;(8-2*p):0)|l&lt;&lt;2*p);
</code></pre>
<p>was macht in diesem code das :0 ?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/258906/syntaxfrage</link><generator>RSS for Node</generator><lastBuildDate>Wed, 09 Sep 2026 03:05:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/258906.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 16 Jan 2010 19:00:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Syntaxfrage on Sat, 16 Jan 2010 19:00:34 GMT]]></title><description><![CDATA[<p>Hi,</p>
<pre><code class="language-cpp">c=((m+1?m&gt;&gt;(8-2*p):0)|l&lt;&lt;2*p);
</code></pre>
<p>was macht in diesem code das :0 ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839902</guid><dc:creator><![CDATA[Schurke]]></dc:creator><pubDate>Sat, 16 Jan 2010 19:00:34 GMT</pubDate></item><item><title><![CDATA[Reply to Syntaxfrage on Sat, 16 Jan 2010 19:05:39 GMT]]></title><description><![CDATA[<p>Na, das ist der ?:-Operator!</p>
<p>(m+1) ? (m&gt;&gt;(8-2*p)) : (0)</p>
<p>Wenn m+1 true ist dann gibt er (m&gt;&gt;(8-2*p)), wenn m+1 = 0 -&gt; m = -1 dann gibt er 0 zurück.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839905</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839905</guid><dc:creator><![CDATA[jaja]]></dc:creator><pubDate>Sat, 16 Jan 2010 19:05:39 GMT</pubDate></item><item><title><![CDATA[Reply to Syntaxfrage on Sat, 16 Jan 2010 19:13:48 GMT]]></title><description><![CDATA[<p>Oder in if-else formuliert:</p>
<pre><code class="language-cpp">if(m + 1)
{
  c = m &gt;&gt; (8 - 2 * p);
}
else
{
  c = 0;
}

c |= 1 &lt;&lt; 2 * p;
</code></pre>
<p>Meiner Meinung nach ein typischer Fall, wo man besser die if-Anweisung genommen hätte. Sowas kann man nicht mehr sinnvoll lesen.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839906</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Sat, 16 Jan 2010 19:13:48 GMT</pubDate></item><item><title><![CDATA[Reply to Syntaxfrage on Sat, 16 Jan 2010 19:16:12 GMT]]></title><description><![CDATA[<pre><code>Meiner Meinung nach ein typischer Fall, wo man besser die if-Anweisung genommen hätte.
</code></pre>
<p>Der Code stammt bestimmt aus einem Obfuscation Contest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839908</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839908</guid><dc:creator><![CDATA[.c]]></dc:creator><pubDate>Sat, 16 Jan 2010 19:16:12 GMT</pubDate></item><item><title><![CDATA[Reply to Syntaxfrage on Sat, 16 Jan 2010 20:26:16 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Oder in if-else formuliert:</p>
<pre><code class="language-cpp">if(m + 1)
{
  c = m &gt;&gt; (8 - 2 * p);
}
else
{
  c = 0;
}

c |= 1 &lt;&lt; 2 * p;
</code></pre>
<p>Meiner Meinung nach ein typischer Fall, wo man besser die if-Anweisung genommen hätte. Sowas kann man nicht mehr sinnvoll lesen.</p>
<p>Grüssli</p>
</blockquote>
<p>Funktioniert mit ternaerem Operator und sinnvoller Einrueckung doch ganz gut.</p>
<pre><code class="language-cpp">c = m+1 ?
      m&gt;&gt;(8-2*p)
    : 0;
c |= l&lt;&lt;2*p;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1839929</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839929</guid><dc:creator><![CDATA[YASC]]></dc:creator><pubDate>Sat, 16 Jan 2010 20:26:16 GMT</pubDate></item><item><title><![CDATA[Reply to Syntaxfrage on Sat, 16 Jan 2010 20:48:55 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Meiner Meinung nach ein typischer Fall, wo man besser die if-Anweisung genommen hätte. Sowas kann man nicht mehr sinnvoll lesen.</p>
<p>Grüssli</p>
</blockquote>
<p>Joah, irgendwie schon, aber dann doch wieder nicht, ich mag den ternären operator gerne und fände sowas elegant, wenn man die Übersichtlichkeit durch whitespaces und evtl klammern verbessert. So wie es steht ist das unter aller kanone.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1839941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839941</guid><dc:creator><![CDATA[Kontrasubjekt]]></dc:creator><pubDate>Sat, 16 Jan 2010 20:48:55 GMT</pubDate></item><item><title><![CDATA[Reply to Syntaxfrage on Sat, 16 Jan 2010 22:19:00 GMT]]></title><description><![CDATA[<p>YASC schrieb:</p>
<blockquote>
<p>Funktioniert mit ternaerem Operator und sinnvoller Einrueckung doch ganz gut.</p>
<pre><code class="language-cpp">c = m+1 ?
      m&gt;&gt;(8-2*p)
    : 0;
c |= l&lt;&lt;2*p;
</code></pre>
</blockquote>
<p>Wenn man den ternären Operator auf mehrere Zeilen verteilen und genaustens auf die Einrückung achten muss, damit der Code halbwegs lesbar ist, gewinnt man nichts mehr durch ihn. <code>operator?:</code> ist vor allem für Fälle wie</p>
<pre><code class="language-cpp">std::cout &lt;&lt; (AllesOK ? &quot;alles in Ordnung&quot; : &quot;AAAH!&quot;) &lt;&lt; std::endl;
</code></pre>
<p>gedacht, wo man mit <code>if</code> Code duplizieren würde. Hier handelt es sich aber um eine einzelne Zuweisung. Durch die If-Abfrage hat man sprechende Schlüsselwörter, welche auch vom Syntaxhighlighting profitieren können.</p>
<p>Im Weiteren finde ich persönlich folgende Punkte unübersichtlich:</p>
<ul>
<li>arithmetische Ausdrücke nicht explizit auf Null prüfen, sondern wie <code>bool</code> behandeln</li>
<li>in komplexeren Ausdrücken keine Leerzeichen verwenden</li>
</ul>
]]></description><link>https://www.c-plusplus.net/forum/post/1839967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1839967</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Sat, 16 Jan 2010 22:19:00 GMT</pubDate></item></channel></rss>