<?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[Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...)]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich habe vor längerer Zeit hier mal einen Thread eröffnet, in welchem ich euch gefragt habe, ob &quot;break&quot; eine anerkannte Art der Progrmmierung ist (Mein Informatiklehrer sagt, dass...). In manchen Fällen wie bei switch ist dieses Schlüsselwort natürlich absolut notwendig. Hier geht es aber darum, ob ich &quot;break&quot; auch zum Beenden von Schleifen benutzen darf. Mir wurde in einer Klausur letztens wieder angemerkt, dass ich doch bitte Abstand von diesem <strong>bösen</strong> Wort halten solle. Da ich das jedoch nicht finde, habe ich meinen Lehrer mal gefragt, was denn eine moderne Alternative sei. Er sagte, man solle das mit einer Endlosschleife lösen, bei der beispielsweise eine bool Variable den anderen Wert annimmt, sobald ich &quot;break&quot; setzen würde. Dann wäre die Schleife auch sofort beendet.</p>
<p>Ich persönlich mag Endlosschleifen nicht sehr, da sie zum einen die CPU sehr auslasten und zum anderen für mich kein sauberer Stil sind (manchmal nutze ich sie auch).</p>
<p>Ich wollte mal fragen, ob ihr auf der Seite der Endlosschleife oder auf der Seite von &quot;break&quot; steht.</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/259709/endlosschleife-gt-was-sagt-ihr-mein-informatiklehrer-sagt-wieder-dass</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 01:32:35 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259709.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 26 Jan 2010 19:36:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Tue, 26 Jan 2010 19:36:24 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich habe vor längerer Zeit hier mal einen Thread eröffnet, in welchem ich euch gefragt habe, ob &quot;break&quot; eine anerkannte Art der Progrmmierung ist (Mein Informatiklehrer sagt, dass...). In manchen Fällen wie bei switch ist dieses Schlüsselwort natürlich absolut notwendig. Hier geht es aber darum, ob ich &quot;break&quot; auch zum Beenden von Schleifen benutzen darf. Mir wurde in einer Klausur letztens wieder angemerkt, dass ich doch bitte Abstand von diesem <strong>bösen</strong> Wort halten solle. Da ich das jedoch nicht finde, habe ich meinen Lehrer mal gefragt, was denn eine moderne Alternative sei. Er sagte, man solle das mit einer Endlosschleife lösen, bei der beispielsweise eine bool Variable den anderen Wert annimmt, sobald ich &quot;break&quot; setzen würde. Dann wäre die Schleife auch sofort beendet.</p>
<p>Ich persönlich mag Endlosschleifen nicht sehr, da sie zum einen die CPU sehr auslasten und zum anderen für mich kein sauberer Stil sind (manchmal nutze ich sie auch).</p>
<p>Ich wollte mal fragen, ob ihr auf der Seite der Endlosschleife oder auf der Seite von &quot;break&quot; steht.</p>
<p>Vielen Dank<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845322</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Tue, 26 Jan 2010 19:36:24 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Tue, 26 Jan 2010 19:43:24 GMT]]></title><description><![CDATA[<p>Versteh ich nicht, wo ist bei dir der Unterschied zwischen einer Endlosschleife und einer Endlosschleife? Ist die Schleife, die du mit break verlassen willst, denn keine?</p>
<p>Einige Probleme lassen sich mit Endlosschleifen eleganter und besser lesbar lösen.<br />
Und eine Schleife mithilfe eines Flags anstatt break zu verlassen, ist fehleranfällig (da eben die Schleife <em>nicht</em> unbedingt sofort verlassen wird) und ziemlich sinnfrei, wobei Ausnahmen die Regel bestätigen mögen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845325</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Tue, 26 Jan 2010 19:43:24 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Tue, 26 Jan 2010 19:45:09 GMT]]></title><description><![CDATA[<p>Die Schleife, die ich verlassen möchte, ist keine Endlosschleife. Man solle also eine umarmende Endlosschleife machen, die abgebrochen wird, wenn man &quot;break&quot; setzen würde.</p>
<p>lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845327</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Tue, 26 Jan 2010 19:45:09 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Tue, 26 Jan 2010 19:45:19 GMT]]></title><description><![CDATA[<p>Athar schrieb:</p>
<blockquote>
<p>Einige Probleme lassen sich mit Endlosschleifen eleganter und besser lesbar lösen.</p>
</blockquote>
<p>Welche?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845328</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845328</guid><dc:creator><![CDATA[Kóyaánasqatsi]]></dc:creator><pubDate>Tue, 26 Jan 2010 19:45:19 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Tue, 26 Jan 2010 19:50:42 GMT]]></title><description><![CDATA[<p>So eine Pauschalisierung ist Unsinn.<br />
Lass mich raten. Dein Lehrer ist irgendwas um die 60 und programmiert selbst eher C, als C++, weil er das halt mal so gelernt hat. Und genau damals auch die strukturierte Programmierung gelernt hat und seit dort nichts dazu gelernt hat.<br />
Du kannst ja mal nachfragen was an seiner &quot;modernen&quot; Methode so viel besser ist, als ein break. Nimmt mich Wunder, was er da antwortet..</p>
<p>Aber wenn es angebracht ist, darfst du <code>break</code> ruhig benutzen. Aber wenn du bessere Noten bekommst, wenn dus so machst, wie er will, dann machs halt, aber vergiss nicht, dass jedes Sprachmittel eingesetzt (mit der richtigen Begründung) werden darf und dann völlig legitim ist.</p>
<p>Mitdenken ist erwünscht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845333</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845333</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 26 Jan 2010 19:50:42 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Tue, 26 Jan 2010 19:53:38 GMT]]></title><description><![CDATA[<p>Kóyaánasqatsi schrieb:</p>
<blockquote>
<p>Athar schrieb:</p>
<blockquote>
<p>Einige Probleme lassen sich mit Endlosschleifen eleganter und besser lesbar lösen.</p>
</blockquote>
<p>Welche?</p>
</blockquote>
<p>Das kann man schlecht pauschal sagen, aber es kommt immer wieder vor, dass ich eine Endlosschleife bevorzuge. Meist immer dann, wenn die Abbruchbedingung etwas komplexer wird. Anstatt break kann das natürlich auch return sein.<br />
Vielleicht beim Lesen von Datensätzen aus einer Datei, bis zu einem Punkt, wo eine Reihe von Bedingungen zutreffen oder ein Fehler auftritt (wobei bei Fehlern natürlich auch Exceptions eingesetzt werden könnnen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845336</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Tue, 26 Jan 2010 19:53:38 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Tue, 26 Jan 2010 20:58:07 GMT]]></title><description><![CDATA[<p>Ich verweise gern auf meinen kürzlich erstellten Thread, wo es um eine ähnliche Problematik ging, nämlich um Sprungmarken, die man benutzen kann, um aus Schleifen vorzeitig rauszuhüpfen. Ganz ähnlich deinem Break. Ich kann das nachvollziehen, dass du es nicht verstehst wenn dein Lehrer sagt, dass das break böse sei. Ich versteh solche eine Haltung bei meinen Profs auch nicht. Schon wenn break, continue oder goto sagst, geht die Stimme von denen paar Dezibel nach oben. Und dann machen sie einen Zinober, dass du da jetzt als armer Schüler/Student denkst, du hättest was weiß ich verbrochen.<br />
Wie dir schon geraten wurde, machs in den Klausuren lieber so wie es dein Herr Lehrer hören will, und privat kannst du die &quot;ungeliebten&quot; Befehle nehmen. Das ist meine Meinung, auch wenn ich dafür oft und gerne Spott ernte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845364</guid><dc:creator><![CDATA[Euler]]></dc:creator><pubDate>Tue, 26 Jan 2010 20:58:07 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Tue, 26 Jan 2010 21:07:10 GMT]]></title><description><![CDATA[<p>Viele übertreiben es halt einfach mit den Ermahnungen.</p>
<p>Es ist schon so, dass man <code>goto</code> nicht sehr oft braucht/brauchen sollte, aber wenn es wirklich sinnvoll ist und man die Alternativen gecheckt hat und <code>goto</code> die elegantere Variante ist, dann soll man es auch nehmen.</p>
<p>Was halt bei vielen das Problem ist, die ihre &quot;böse&quot; Sachen Theorien vertreten, dass sie halt nicht auch gleich erklären, WARUM die Sachen böse sind. Dann hat auch kein Student die Chance in den Fällen, wo es wirklich Sinn macht die böse Seite zu benutzen es zu wissen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845368</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 26 Jan 2010 21:07:10 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Tue, 26 Jan 2010 21:16:38 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>Er sagte, man solle das mit einer Endlosschleife lösen, bei der beispielsweise eine bool Variable den anderen Wert annimmt, sobald ich &quot;break&quot; setzen würde. Dann wäre die Schleife auch sofort beendet.</p>
</blockquote>
<p>Dann wärs ja keine Endlosschleife mehr. Wovon redest du da überhaupt? Es klingt eher danach, als hättest du eine Schleife mit der Schleifenbedingung true, die durch break verlassen wird, und solltest sie so umformulieren, dass sie im Schleifenkopf abgebrochen wird:</p>
<pre><code class="language-cpp">while (true) {
 A;
 if (foo)
   break;
 B;
};

//  ==&gt;
bool b = false;
while (!b) {
  A;
  if (foo)
    b = true;
  else
    B
};
</code></pre>
<p>Richtig? Also mal abgesehen davon, dass das beides keine Endlosschleifen im eigentlichen Sinne des Wortes sind, so ist doch eher die erste als solche zu bezeichnen, weil sie formal keine Schleifenbedingung hat. Naja sei's drum. Mir wär wohler, du würdest die Dinger als Tischbeine bezeichnen, da Endlosschleife schon für Schleifen, die kein Ende haben, belegt ist.</p>
<blockquote>
<p>Ich persönlich mag Endlosschleifen nicht sehr, da sie zum einen die CPU sehr auslasten und zum anderen für mich kein sauberer Stil sind (manchmal nutze ich sie auch).</p>
</blockquote>
<p>Woher soll denn die CPU wissen, ob das eine Endlosschleife ist? Die lastet die CPU genauso aus wie jede andere Schleife.<br />
Und ob das sauberer Stil ist für dich ist erstmal egal, es sei denn, du kannst deinen Lehrer davon überzeugen, dass dein Stilempfinden wichtiger ist als seins.</p>
<blockquote>
<p>Ich wollte mal fragen, ob ihr auf der Seite der Endlosschleife oder auf der Seite von &quot;break&quot; steht.</p>
</blockquote>
<p>Ich habe es oft, dass die erste Version einer Schleife ein break hat, dass ich sie dann aber irgendwann so umformuliere, dass die Schleifenbedingung auf natürliche Art und Weise im Schleifenkopf zu liegen kommt.<br />
Wenn man zusätzliche boolesche Flags einführen muss verkompliziert sich der Kontrollfluss, davon halte ich nichts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845371</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 26 Jan 2010 21:16:38 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Tue, 26 Jan 2010 23:23:58 GMT]]></title><description><![CDATA[<p>Also mir kommt eine Problem in den Sinn, den wir mal in einem Informatikunterricht in der Schule hatten. Die Aufgabe war einfach: Man soll eine Eingabe anfordern und prüfen und nur dann akzeptieren, wenn sie ok ist. Ansonsten Fehler ausgeben und halt nochmal anfordern. Klingt einfach. Jetzt machen wir das mal mit der reinen Lehre mit einer Schleife mit einer Abbruchbedingung entweder am Anfang oder am Ende:</p>
<pre><code class="language-cpp">do {
  std::cout &lt;&lt; &quot;Bitte geben Sie eine Zahl zwischen 0 und 9 ein:&quot;;
  std::cin &gt;&gt; zahl;
  if (zahl &lt; 0 || zahl &gt; 9)
    std::cout &lt;&lt; &quot;fehlerhafte Eingabe&quot;;
} while (zahl &lt; 0 || zahl &gt; 9);
</code></pre>
<p>Sehr unschön, da doppelte Prüfung. Besser mit einer Bool-Variablen:</p>
<pre><code class="language-cpp">bool ok = false;
while (!ok)
{
  std::cout &lt;&lt; &quot;Bitte geben Sie eine Zahl zwischen 0 und 9 ein:&quot;;
  std::cin &gt;&gt; zahl;
  if (zahl &lt; 0 || zahl &gt; 9)
    std::cout &lt;&lt; &quot;fehlerhafte Eingabe&quot;;
  else
    ok = true;
}
</code></pre>
<p>Besser. Aber eine unnötige Variable in einem Scope, der nichts mit der eigentlichen Schleife zu tun hat. Und so eine bool-Variable ist oft Ausdruck einer falschen Schleifenwahl oder sonstigen verknoteten Abläufen. Na ja - so schön ist das nicht.<br />
Und jetzt mit break:</p>
<pre><code class="language-cpp">while (true)
{
  std::cout &lt;&lt; &quot;Bitte geben Sie eine Zahl zwischen 0 und 9 ein:&quot;;
  std::cin &gt;&gt; zahl;
  if (zahl &gt;= 0 &amp;&amp; zahl &lt;= 9)
    break;
  std::cout &lt;&lt; &quot;fehlerhafte Eingabe&quot;;
}
</code></pre>
<p>Finde ich persönlich am schönsten. Kurz und übersichtlich, leicht verständlich, keine überflüssige Variable und eine einfache Abbruchbedingung. Zwar in der Mitte, aber genau das ergibt sich aus der Aufgabenstellung.<br />
Jetzt viele Jahre später bin ich noch immer der Überzeugung, dass ein break in vielen Situationen die beste Lösung ist. Auch in meinen Programmen kommt das hin und wieder vor.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845438</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845438</guid><dc:creator><![CDATA[tntnet]]></dc:creator><pubDate>Tue, 26 Jan 2010 23:23:58 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 05:49:25 GMT]]></title><description><![CDATA[<p>[quote=&quot;tntnet&quot;]</p>
<pre><code class="language-cpp">do {
  std::cout &lt;&lt; &quot;Bitte geben Sie eine Zahl zwischen 0 und 9 ein:&quot;;
  std::cin &gt;&gt; zahl;
  if (zahl &lt; 0 || zahl &gt; 9)
    std::cout &lt;&lt; &quot;fehlerhafte Eingabe&quot;;
} while (zahl &lt; 0 || zahl &gt; 9);
</code></pre>
<p>da brauchen wir uns nicht drüber unterhalten...</p>
<pre><code class="language-cpp">bool ok = true;
do{
  std::cout &lt;&lt; &quot;Bitte geben Sie eine Zahl zwischen 0 und 9 ein:&quot;;
  std::cin &gt;&gt; zahl;
  if (zahl &lt; 0 || zahl &gt; 9)
    std::cout &lt;&lt; &quot;fehlerhafte Eingabe&quot;;
  else
    ok = false;
}while(ok);
</code></pre>
<p>denke hier wird schon deutlich das es komplizierter als eigentlich nötig war sonst hättest es doch gleich so gemacht;)</p>
<pre><code class="language-cpp">do{
  std::cout &lt;&lt; &quot;Bitte geben Sie eine Zahl zwischen 0 und 9 ein:&quot;;
  std::cin &gt;&gt; zahl;
  if (zahl &gt;= 0 &amp;&amp; zahl &lt;= 9)
    break;
  std::cout &lt;&lt; &quot;fehlerhafte Eingabe&quot;;
}while(1);
</code></pre>
<p>wir wollen ja fair bleiben <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>lg lolo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845478</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845478</guid><dc:creator><![CDATA[noobLolo]]></dc:creator><pubDate>Wed, 27 Jan 2010 05:49:25 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 05:57:08 GMT]]></title><description><![CDATA[<p>ich bilde mir ein mal gehört zu haben, dass das was am ehesten eintrifft in den ersten block soll und das andere in den else block da es dann schneller ausgeführt werden kann, also</p>
<pre><code class="language-cpp">if(){
  //eher oft
}else{
  //eher selten
}
</code></pre>
<p>und wenn man jetzt davon ausgeht das es stimmt und der ein oder andere user in der lage ist das zu machen was man ihm sagt, ist ein</p>
<pre><code class="language-cpp">if(true)
  break;
</code></pre>
<p>schneller als</p>
<pre><code class="language-cpp">if(false)
 ...
else
  break;
</code></pre>
<p>lg lolo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845480</guid><dc:creator><![CDATA[noobLolo]]></dc:creator><pubDate>Wed, 27 Jan 2010 05:57:08 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 05:58:42 GMT]]></title><description><![CDATA[<p>Was spricht gegen</p>
<pre><code class="language-cpp">for( bool exit=false; !exit; )  {
  std::cout &lt;&lt; &quot;Bitte geben Sie eine Zahl zwischen 0 und 9 ein:&quot;;
  std::cin &gt;&gt; zahl;
  if (zahl &lt; 0 || zahl &gt; 9)
    std::cout &lt;&lt; &quot;fehlerhafte Eingabe&quot;;
  else
    exit = true;
}
</code></pre>
<p>Für alle break-Hasser. Das Exit-Flag ist nur in der Schleife sichtbar. Wenn die durch ist gibt es die Variable nicht mehr.</p>
<p>Mir gefällt hier allerdings die Variante mit dem break auch besser.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845481</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Wed, 27 Jan 2010 05:58:42 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 06:03:07 GMT]]></title><description><![CDATA[<p>schade das ich mich ins c++ forum verirrt habe, sonst könnt ich sagen, for(int x... gibts in c89 nicht :p</p>
<p>guten morgen &amp;&amp; lg lolo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845483</guid><dc:creator><![CDATA[noobLolo]]></dc:creator><pubDate>Wed, 27 Jan 2010 06:03:07 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 06:44:27 GMT]]></title><description><![CDATA[<p>aber da ist das break oder die flag auch nciht unbedingt notwendig:</p>
<pre><code class="language-cpp">template &lt;typename T&gt;
T get(std::istream &amp;in, std::ostream &amp;out)
{
  T ret_val;

  while (! (in &gt;&gt; ret_val) )
  {
    out &lt;&lt; &quot;falsch usw.&quot;;
    clear_stream(in);
  };

  clear_stream(in);
  return ret_val;
}

template &lt;typename T&gt;
T get(std::istream &amp;in, std::ostream &amp;out, const T&amp; lower_bound, const T&amp; upper_bound)
{
  T ret_val = get&lt;T&gt;(in, out);

  while( (ret_val &lt; lower_bound) || (ret_val &gt; upper_bound) )
  {
    out &lt;&lt; &quot;außerhalb der grenzen...&quot;;
    clear_stream(in);
    ret_val = get&lt;T&gt;(in, out);
  };

  return ret_val;
}
</code></pre>
<p>und die eine zeile, die ich da doppelt drin habe, kann man imho so und so nur mit verrenkungen vermeiden...</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845485</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845485</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 27 Jan 2010 06:44:27 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 07:08:02 GMT]]></title><description><![CDATA[<p>kpl. od das jetzt an den templates liegt aber so mit einem blick check ich nicht was du da machst <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>lg lolo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845490</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845490</guid><dc:creator><![CDATA[noobLolo]]></dc:creator><pubDate>Wed, 27 Jan 2010 07:08:02 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 08:24:26 GMT]]></title><description><![CDATA[<p>Dann verteufelt er vermutlich auch <strong>continue</strong> in Schleifen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845518</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Wed, 27 Jan 2010 08:24:26 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 08:29:23 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich meite eigentlich sowas wie Bashar es in seimem zweiten Beispiel hat. Vielleicht war meine Ausdrucksweise falsch. Strenggenommen ist es keine Endlosschleife...naja, ihr habt mich dennoch verstanden!</p>
<p>Kann man sagen, dass eigntlich alle Schlüsselwörter aus C++ zu nutzen sind? Andernfalls könnte man argumentieren, dass es solche sonst ja nicht geben würde. Naja, trotzdem gibt es ja immer wieder &quot;Stilverbesserungen&quot;. Heute würde ja auch keiner mehr das schreiben:</p>
<pre><code class="language-cpp">void main()
{
 cout &lt;&lt; &quot;Hello World&quot; &lt;&lt; endl;
}
</code></pre>
<p>lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845521</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845521</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Wed, 27 Jan 2010 08:29:23 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 08:34:41 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>Naja, trotzdem gibt es ja immer wieder &quot;Stilverbesserungen&quot;. Heute <em>würde</em> ja auch keiner mehr das schreiben:</p>
<pre><code class="language-cpp">void main()
{
 cout &lt;&lt; &quot;Hello World&quot; &lt;&lt; endl;
}
</code></pre>
</blockquote>
<p>Das liegt aber nicht daran dass es als nicht schön erachtet wird!</p>
<pre><code>g++ main.cpp -o main
main.cpp:4: Fehler: »::main« muss »int« zurückgeben
</code></pre>
<p>Das ist also einfach nur verboten! Also nix Geschmackssache oder Stilverbesserung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845526</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Wed, 27 Jan 2010 08:34:41 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 08:56:47 GMT]]></title><description><![CDATA[<p>Mmmhh...da haste recht, aber die Nutzung von break, continue wird mir genauso als verboten dargestellt. Einmal sagt es der Compiler...einmal der Lehrer <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845535</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845535</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Wed, 27 Jan 2010 08:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 08:58:53 GMT]]></title><description><![CDATA[<p>Ich verwende immer break &amp; continue wenn es Sinn macht. So einfach ist das.<br />
Die Verwendung von irgendwelchen Abbruchvariablen die in langen Schleifen verwendet werden, führen meist zu viel unübersichtlicheren Verschachtelungen.</p>
<p>Was man bei dem ganzen break/continue/return-Gedönse mitten im Code natürlich berückstigen muss ist das freigeben eventuell angeforderten Speichers. Da kann es sonst schnell zu Problemen führen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845536</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Wed, 27 Jan 2010 08:58:53 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 09:00:13 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>Einmal sagt es der Compiler...</p>
</blockquote>
<p>Wenn du mit Compiler den Typen meinst, dem du deinen Quelltext zum Übersetzen gibst, würde ich mir einen anderen suchen. Der soll keinen Kommentar abgeben sondern seine Arbeit erledigen.<br />
Wenn du selber ein soclhes Programm bedienst (z.B. GCC), dann handelt es sich wohl um eine falsche Anwendung, sprich einen tatsächlichen Programmierfehler.<br />
Auf nicht initialisierte Pointer zugreifen ist ja auch böse böse böse, nur - der Compiler meldet das nicht!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845537</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Wed, 27 Jan 2010 09:00:13 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 09:07:56 GMT]]></title><description><![CDATA[<p>Ok, ich konnte mir durch eure Antworten und Meinungen ein gutes Meinungsbild verschaffen. Ich werde auch weiterhin mit break etc. arbeiten und vielleicht in der Arbeit mal auf andere Strukturen zurückgreifen.</p>
<p>Ich danke euch allen.<br />
lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845544</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Wed, 27 Jan 2010 09:07:56 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 09:08:48 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Ich verwende immer break &amp; continue wenn es Sinn macht. So einfach ist das.<br />
Die Verwendung von irgendwelchen Abbruchvariablen die in langen Schleifen verwendet werden, führen meist zu viel unübersichtlicheren Verschachtelungen.</p>
</blockquote>
<p>Dito.</p>
<p>Ich verwende break &amp; continue zwar selten, aber durchaus wenn es der Übersichtlichkeit förderlich ist.</p>
<p>Fellhuhn schrieb:</p>
<blockquote>
<p>Was man bei dem ganzen break/continue/return-Gedönse mitten im Code natürlich berückstigen muss ist das freigeben eventuell angeforderten Speichers. Da kann es sonst schnell zu Problemen führen.</p>
</blockquote>
<p>Es sei den man setzt ohnehin weitgehend auf Stackvariablen in Schleifen, oder RAII-Mechanismen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845545</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845545</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 27 Jan 2010 09:08:48 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 11:09:50 GMT]]></title><description><![CDATA[<p>freakC++ schrieb:</p>
<blockquote>
<p>Kann man sagen, dass eigntlich alle Schlüsselwörter aus C++ zu nutzen sind? Andernfalls könnte man argumentieren, dass es solche sonst ja nicht geben würde.</p>
</blockquote>
<p>Nein, so kann man nicht argumentieren. Es gibt z.B. das Schlüsselwort <code>auto</code> , das völlig überflüssig ist (und in C++0x umgewidmet wird, weil es nie jemand benutzt). Auch von zweifelhaftem Wert ist <code>register</code> . Und in portablen Programmen kann nie das Schlüsselwort <code>asm</code> vorkommen.<br />
Die Funktionen <code>setjmp</code> / <code>longjmp</code> sollte man auch nicht verwenden. Na und so weiter ... die Sprache enthält vieles nur aus historischen Gründen, sie macht auf keinen Fall Stilvorgaben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845606</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 27 Jan 2010 11:09:50 GMT</pubDate></item><item><title><![CDATA[Reply to Endlosschleife --&amp;gt; was sagt ihr (Mein Informatiklehrer sagt wieder, dass...) on Wed, 27 Jan 2010 11:20:11 GMT]]></title><description><![CDATA[<p>Stimmt, da haste recht. Bei <em>register</em> ist ja sowieso dem Compiler überlassen, was er damit anstellt.</p>
<p>lg, freakC++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845614</guid><dc:creator><![CDATA[freakC++]]></dc:creator><pubDate>Wed, 27 Jan 2010 11:20:11 GMT</pubDate></item></channel></rss>