<?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[Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;?]]></title><description><![CDATA[<p>Was schreibt ihr?</p>
<pre><code class="language-cpp">if (0&lt;=x &amp;&amp; x&lt;=10);
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">if (x&gt;=0 &amp;&amp; x&lt;=10);
</code></pre>
<p>oder was anderes?</p>
<p>Praxisbeispiel wäre <code>'a'&lt;=c &amp;&amp; c&lt;='z'</code> vs <code>c&gt;='a' &amp;&amp; c&lt;='z'</code> , kommt aber häufig auch woanders vor.</p>
<p>Kommt alles aufs gleiche raus, aber welche Version ist gebräuchlicher?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/327268/stilfrage-quot-a-lt-b-amp-amp-b-lt-c-quot-oder-quot-b-gt-c-amp-amp-b-lt-c-quot</link><generator>RSS for Node</generator><lastBuildDate>Thu, 09 Jul 2026 20:23:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/327268.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 01 Aug 2014 10:53:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 10:53:35 GMT]]></title><description><![CDATA[<p>Was schreibt ihr?</p>
<pre><code class="language-cpp">if (0&lt;=x &amp;&amp; x&lt;=10);
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">if (x&gt;=0 &amp;&amp; x&lt;=10);
</code></pre>
<p>oder was anderes?</p>
<p>Praxisbeispiel wäre <code>'a'&lt;=c &amp;&amp; c&lt;='z'</code> vs <code>c&gt;='a' &amp;&amp; c&lt;='z'</code> , kommt aber häufig auch woanders vor.</p>
<p>Kommt alles aufs gleiche raus, aber welche Version ist gebräuchlicher?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411455</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411455</guid><dc:creator><![CDATA[steilguido]]></dc:creator><pubDate>Fri, 01 Aug 2014 10:53:35 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 10:56:00 GMT]]></title><description><![CDATA[<p>Ist Geschmackssache. Ich würde die erste Version bevorzugen, weil ich dort optisch schneller erfassen kann, das x in einem Intervall liegen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411457</guid><dc:creator><![CDATA[TNA]]></dc:creator><pubDate>Fri, 01 Aug 2014 10:56:00 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 10:59:15 GMT]]></title><description><![CDATA[<p>Natürlich</p>
<pre><code class="language-cpp">x==boost::algorithm::clamp(x, 'a', 'z')
</code></pre>
<p>!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411458</guid><dc:creator><![CDATA[clamper]]></dc:creator><pubDate>Fri, 01 Aug 2014 10:59:15 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 11:49:47 GMT]]></title><description><![CDATA[<p>Ich bin für sowas in der Art:</p>
<pre><code>template &lt;typename T&gt;
bool IsInClosedInterval( const T&amp; lower, const T&amp; upper, const T&amp; x )
{
    return lower &lt;= x &amp;&amp; x &lt;= upper;
}
</code></pre>
<p><a href="http://codepad.org/tuVH8Ewl" rel="nofollow">http://codepad.org/tuVH8Ewl</a></p>
<pre><code>if ( IsInClosedInterval( 0, 10, x )
</code></pre>
<p>edit: Swordfish hat natürlich recht. <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/2411467</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411467</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Fri, 01 Aug 2014 11:49:47 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 11:31:59 GMT]]></title><description><![CDATA[<p>Dobi schrieb:</p>
<blockquote>
<pre><code>template &lt;typename T&gt;
bool IsInClosedInterval( const T&amp; lower, const T&amp; upper, const T&amp; x )
{
    return lower &lt;= x &amp;&amp; x &lt;= upper;
}
</code></pre>
</blockquote>
<p>ftfy.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411469</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Fri, 01 Aug 2014 11:31:59 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 11:35:17 GMT]]></title><description><![CDATA[<p>Dobi, dann aber x als ersten Parameter oder aber in die Mitte stellen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";-)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411473</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411473</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Fri, 01 Aug 2014 11:35:17 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 11:36:58 GMT]]></title><description><![CDATA[<p>Sicher letzteres. Erstere Variante sieht man bestenfalls von Leuten, die gerade frisch von der Uni abgegangen sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411476</guid><dc:creator><![CDATA[qq]]></dc:creator><pubDate>Fri, 01 Aug 2014 11:36:58 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 12:10:10 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8250">@Swordfish</a>: Oh, so wollte ich es ursprünglich auch, hab den eigentlichen Teil dann aber wegen des ganzen drumherums doch falsch gemacht. Habs gefixt. <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>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18594">@Th69</a>: Das Interval habe ich vorne hingeschrieben, weil es mit currying dann einfacher ist, Spezialisierungen der Funktionen zu erzeugen:</p>
<pre><code>asClosedIntervalIncludes :: Ord a =&gt; (a, a) -&gt; a -&gt; Bool
asClosedIntervalIncludes (lower, upper) x = lower &lt;= x &amp;&amp; x &lt;= upper

isInClosedInterval0to10 = asClosedIntervalIncludes (0, 10)
</code></pre>
<p><a href="http://codepad.org/f54J4m6j" rel="nofollow">http://codepad.org/f54J4m6j</a><br />
Ich seh aber natürlich ein, dass das in C++ nicht so viel bringt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>In z.B. Python gehts übrigens am schönsten, finde ich:</p>
<pre><code>def isInClosedInterval(lower, upper, x):
    return lower &lt;= x &lt;= upper
</code></pre>
<p><a href="http://codepad.org/nofRqEWo" rel="nofollow">http://codepad.org/nofRqEWo</a></p>
<p>edit: Funktion dank häksel's berechtigter Kritik umbenannt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411481</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Fri, 01 Aug 2014 12:10:10 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 12:04:36 GMT]]></title><description><![CDATA[<p>In Haskell benennt man Funktionen so, dass sie Sinn machen, wenn man sie Infix schreibt. &quot;x `isInClosedInterval` (0, 10)&quot; sagt genau das, was man will, &quot;(0, 10) `isInClosedInterval` x&quot; ist genau falsch.</p>
<p>Und &quot;isInClosedInterval0to10 = (`isInClosedInterval` (0, 10))&quot; ist nicht viel umständlicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411486</guid><dc:creator><![CDATA[häksel]]></dc:creator><pubDate>Fri, 01 Aug 2014 12:04:36 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 12:11:07 GMT]]></title><description><![CDATA[<p>Dobi schrieb:</p>
<blockquote>
<p>In z.B. Python gehts übrigens am schönsten, finde ich:</p>
</blockquote>
<p>In Ada:</p>
<pre><code>if X in 1..10 then
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2411488</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411488</guid><dc:creator><![CDATA[oenone]]></dc:creator><pubDate>Fri, 01 Aug 2014 12:11:07 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 12:20:49 GMT]]></title><description><![CDATA[<p>@häksel: Da hast du natürlich recht, danke für den Hinweis. Hab meine Funktion dementsprechend umbenannt, auch wenn mir deine Variante eigentlich noch besser gefällt. Meine Ausrede, dass ich nicht darauf gekommen bin, ist dass ich momentan viel in Elm schreibe, und es da keine sections gibt. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8020">@oenone</a>: Wird dann O(1) zu O(n)? Oder geht das auch mit nicht-integralen Typen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411489</guid><dc:creator><![CDATA[Dobi]]></dc:creator><pubDate>Fri, 01 Aug 2014 12:20:49 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 12:31:55 GMT]]></title><description><![CDATA[<p>&lt;pre&gt;&lt;code&gt;boost/numeric/interval/utility.hpp&lt;/code&gt;&lt;/pre&gt; schrieb:</p>
<blockquote>
<pre><code class="language-cpp">template&lt;class T, class Policies&gt; inline
bool in(const T&amp; x, const interval&lt;T, Policies&gt;&amp; y)
{
  if (interval_lib::detail::test_input(x, y)) return false;
  return y.lower() &lt;= x &amp;&amp; x &lt;= y.upper();
}
</code></pre>
</blockquote>
<p>Damit ist die Sache geklärt. Man schreibt das x in der Mitte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411494</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411494</guid><dc:creator><![CDATA[bloost]]></dc:creator><pubDate>Fri, 01 Aug 2014 12:31:55 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 12:35:06 GMT]]></title><description><![CDATA[<p>Dobi schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/8020">@oenone</a>: Wird dann O(1) zu O(n)? Oder geht das auch mit nicht-integralen Typen?</p>
</blockquote>
<p>Ja, geht auch mit Floating Point:</p>
<pre><code>if X in 0.0 .. 10.0 then
</code></pre>
<p>Der Compiler macht daraus einfach zwei Vergleiche, so in etwa (beim Integer Beispiel):</p>
<pre><code>cmpl    $0, -20(%rbp)
        jle     .L4
        cmpl    $10, -20(%rbp)
        jg      .L4
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2411498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411498</guid><dc:creator><![CDATA[oenone]]></dc:creator><pubDate>Fri, 01 Aug 2014 12:35:06 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 12:43:24 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">template &lt;typename T,
          typename = typename std::enable_if&lt;std::is_integral&lt;T&gt;::value&gt;::type&gt;
bool isin(T x, T l, T r) {
  using std::begin;
  using std::end;
  std::vector&lt;int&gt; v(r - l);
  std::iota(begin(v), end(v), l);
  return std::find(begin(v), end(v), x) != end(v);
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2411500</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411500</guid><dc:creator><![CDATA[std__iota&amp;lt;fan&amp;gt;]]></dc:creator><pubDate>Fri, 01 Aug 2014 12:43:24 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 12:44:35 GMT]]></title><description><![CDATA[<p>Edit:</p>
<pre><code class="language-cpp">return std::binary_search(begin(v), end(v), x);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2411501</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411501</guid><dc:creator><![CDATA[std__iota&amp;lt;fan&amp;gt;]]></dc:creator><pubDate>Fri, 01 Aug 2014 12:44:35 GMT</pubDate></item><item><title><![CDATA[Reply to Stilfrage: &amp;quot;a&amp;lt;=b&amp;amp;&amp;amp;b&amp;lt;c&amp;quot; oder &amp;quot;b&amp;gt;=c&amp;amp;&amp;amp;b&amp;lt;c&amp;quot;? on Fri, 01 Aug 2014 13:49:00 GMT]]></title><description><![CDATA[<p>steilguido schrieb:</p>
<blockquote>
<p>Was schreibt ihr?</p>
<pre><code class="language-cpp">if (0&lt;=x &amp;&amp; x&lt;=10);
</code></pre>
<p>oder</p>
<pre><code class="language-cpp">if (x&gt;=0 &amp;&amp; x&lt;=10);
</code></pre>
<p>oder was anderes?</p>
<p>Praxisbeispiel wäre <code>'a'&lt;=c &amp;&amp; c&lt;='z'</code> vs <code>c&gt;='a' &amp;&amp; c&lt;='z'</code> , kommt aber häufig auch woanders vor.</p>
<p>Kommt alles aufs gleiche raus, aber welche Version ist gebräuchlicher?</p>
</blockquote>
<p>Ich benutze erstere. Sieht eher nach 0&lt;=x&lt;=10 aus, wie es in den Mathebüchern steht.<br />
Die erste Funktion dafür, die ich kenne, heißt range(min,x,max) und wurde mit Borland3.1 ausgeliefert. In der Tat schlechter Stil, weils range(x,min,max) heißen sollte. Alternativ sorted(min,x,max).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2411510</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2411510</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 01 Aug 2014 13:49:00 GMT</pubDate></item></channel></rss>