<?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[C++ ist eigentlich eine schöne Sprache, nur...]]></title><description><![CDATA[<p>blöd, dass man mit break immer nur aus der innersten Schleife springen kann!<br />
Bei einschlägigen Scriptsprache, wie PHP, ist es möglich, hinter break noch die &quot;Tiefe&quot; des Sprunges anzugeben.</p>
<pre><code>while(true)
   while(true)
      break 2; // springt aus beiden schleifen
</code></pre>
<p>Tja, das vermisse ich manchmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/208110/c-ist-eigentlich-eine-schöne-sprache-nur</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 16:49:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/208110.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 14 Mar 2008 20:04:20 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Fri, 14 Mar 2008 20:04:20 GMT]]></title><description><![CDATA[<p>blöd, dass man mit break immer nur aus der innersten Schleife springen kann!<br />
Bei einschlägigen Scriptsprache, wie PHP, ist es möglich, hinter break noch die &quot;Tiefe&quot; des Sprunges anzugeben.</p>
<pre><code>while(true)
   while(true)
      break 2; // springt aus beiden schleifen
</code></pre>
<p>Tja, das vermisse ich manchmal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474523</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474523</guid><dc:creator><![CDATA[C++ Möger]]></dc:creator><pubDate>Fri, 14 Mar 2008 20:04:20 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Fri, 14 Mar 2008 21:47:36 GMT]]></title><description><![CDATA[<p>C++ Möger schrieb:</p>
<blockquote>
<p>blöd, dass man mit break immer nur aus der innersten Schleife springen kann!<br />
Bei einschlägigen Scriptsprache, wie PHP, ist es möglich, hinter break noch die &quot;Tiefe&quot; des Sprunges anzugeben.</p>
<pre><code>while(true)
   while(true)
      break 2; // springt aus beiden schleifen
</code></pre>
<p>Tja, das vermisse ich manchmal!</p>
</blockquote>
<p>Kennste goto ? Nimm goto <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474579</guid><dc:creator><![CDATA[Der Hüpfexperte]]></dc:creator><pubDate>Fri, 14 Mar 2008 21:47:36 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Fri, 14 Mar 2008 22:31:12 GMT]]></title><description><![CDATA[<p>naaaja, ich bin nicht einer von diesen goto hassern der gleich eine shotgun rausholt und dem programmiere ins gesicht schießt wenn ich ein goto im code sehe</p>
<p>es gibt sehr sehr seltene anwendungsfälle bei gewisser if else logik wo ein goto die bessere lösung ist im vergleich zu einer unnötig komplizierten und unverständlichen ohne-goto variante</p>
<p>aber sowas gehört imo nicht zu den fällen wo goto angebracht ist denke ich</p>
<p>vielleicht solltest du deinen entwurf erstmal überdenken ob es so wirklich gut gelöst ist wenn du über eine größere tiefe als 1 breaken willst<br />
ich vermute mal du musst nur 2 schleifen in die tiefe breaken, da würde eigentlich auch ein bool flag reichen und vermutlich auch die leserlichkeit und verständlichkeit fördern</p>
<p>aber wenn du meinst es geht wirklich nicht anders nimmt halt ein lokales goto welches innerhalb eines kleinen codestücks die sprungmarke hat so dass es überschaubar bleibt, allerdings musst du dir halt überlegen ob es das ist was du wirklich brauchst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474598</guid><dc:creator><![CDATA[Vevusio]]></dc:creator><pubDate>Fri, 14 Mar 2008 22:31:12 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Fri, 14 Mar 2008 22:56:43 GMT]]></title><description><![CDATA[<p>Ich bin noch ein Urgestein.<br />
Ich bin damals auf dem Brotkasten (C64) nur so mit goto und gosub umhergehüpft.<br />
Mir ist es zum Anfang als ich Bekanntschaft mit C++ machte auch schwer gefallen, auf sowas zu verzichten.<br />
Heute bin ich der festen Überzeugung, das es für &quot;goto&quot; unter C++ <strong>immer</strong> eine bessere Lösung gibt. Wenn einem auf Anhieb keine andere Lösung ins Gesicht springt, dann sollte man diese Punkte, die zu dieser falschen Annahme führen versuchen auszumerzen.<br />
Heisst also, ein goto ist <strong>immer</strong> ersetzbar.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474605</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474605</guid><dc:creator><![CDATA[fhul]]></dc:creator><pubDate>Fri, 14 Mar 2008 22:56:43 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Fri, 14 Mar 2008 22:58:57 GMT]]></title><description><![CDATA[<p>Dann sag mir mal, was der Unterschied zwischen dem verlangten</p>
<pre><code>while(true) 
   while(true) 
      break 2; // springt aus beiden schleifen
</code></pre>
<p>und</p>
<pre><code class="language-cpp">while(true)
   while(true)
      goto endOfLoops;
endOfLoops:
</code></pre>
<p>ist.<br />
Ein Flag hingegen finde ich unlesbarer.<br />
Imho ist goto gerade für das springen aus mehreren Schleifen geeignet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474606</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474606</guid><dc:creator><![CDATA[Benutzername:]]></dc:creator><pubDate>Fri, 14 Mar 2008 22:58:57 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Fri, 14 Mar 2008 23:05:33 GMT]]></title><description><![CDATA[<blockquote>
<p>Imho ist goto gerade für das springen aus mehreren Schleifen geeignet.</p>
</blockquote>
<p>Da bist du nicht alleine da mit dieser Meinung.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474608</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474608</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Fri, 14 Mar 2008 23:05:33 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Fri, 14 Mar 2008 23:17:43 GMT]]></title><description><![CDATA[<p>1. Man verwendet so eingentlich nie ein</p>
<pre><code class="language-cpp">while(true)
</code></pre>
<p>Weil irgendwann hat alles ein Ende.</p>
<p>2.Warum ist ein Flag schwerer zu lesen ? Das ist Aufgabe des Programmierers für vernünftige Dokumentation des Codes zu sorgen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474610</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474610</guid><dc:creator><![CDATA[fhul]]></dc:creator><pubDate>Fri, 14 Mar 2008 23:17:43 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Fri, 14 Mar 2008 23:41:34 GMT]]></title><description><![CDATA[<p>Die beste Dokumentation eines Codes ist ein selbstdokumentierender Code.<br />
Code den ich erklären muss is nicht wirklich gut und ein goto endOfLoops Ist leicht zu lesen und zu verstehen, das setzen des Flags alleine auch, nur dass sofort abgebrochen wird und nicht erst am Ende des Schleifendurchlaufes kann und wird einiges an unnötig verkomplizierenden Code verursachen.<br />
Das while(true) war nur aus dem Beispiel oben entnommen, generell braucht man selten einen Abbruch in der Schleife, meistens tuts die Bedingung. Noch seltener muss man gleich 2 Schleifen abbrechen und man sollte sich überlegen ob man das wirklich tun muss.<br />
Aber wenn man es tut, nicht tricksen, goto hat hier keinen der üblichen goto Nachteile, den jede andere Art des Abbruchs nicht auch hätte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474614</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474614</guid><dc:creator><![CDATA[Benutzername:]]></dc:creator><pubDate>Fri, 14 Mar 2008 23:41:34 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Fri, 14 Mar 2008 23:58:44 GMT]]></title><description><![CDATA[<p>Ein goto hat immer den Nachteil, das du dir damit Spaghetti erzeugst.<br />
Egal wie du ihn anwendest.<br />
Ein Flag erzeugt das nicht, du kannst den Ablauf auch bei selbstdokumentierenden Code leichter nachverfolgen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474617</guid><dc:creator><![CDATA[fhul]]></dc:creator><pubDate>Fri, 14 Mar 2008 23:58:44 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 00:05:27 GMT]]></title><description><![CDATA[<p>Der Nachteil von Spaghetticode, ist dass er schwer nachzuvollziehen ist und das ist in diesem Fall nicht gegeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474618</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474618</guid><dc:creator><![CDATA[Benutzername:]]></dc:creator><pubDate>Sat, 15 Mar 2008 00:05:27 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 00:12:49 GMT]]></title><description><![CDATA[<p>Benutzername: schrieb:</p>
<blockquote>
<p>Der Nachteil von Spaghetticode, ist dass er schwer nachzuvollziehen ist und das ist in diesem Fall nicht gegeben.</p>
</blockquote>
<p>In welchem Fall ? Bei den genannten Beispielen ?<br />
<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="😕"
    /> <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1474619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474619</guid><dc:creator><![CDATA[fhul]]></dc:creator><pubDate>Sat, 15 Mar 2008 00:12:49 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 00:17:09 GMT]]></title><description><![CDATA[<p>Beim ausstieg aus einer geschachtelten Schleife.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474621</guid><dc:creator><![CDATA[Benutzername:]]></dc:creator><pubDate>Sat, 15 Mar 2008 00:17:09 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 00:20:48 GMT]]></title><description><![CDATA[<p>Wie wäre es mal mit einem anständigen Programmierstil? PHP ist eine Frickelsprache und kann als Vorbild nicht herhalten. Die ganze Diskussion break, break mit Zahl, goto usw. ist überflüssig, wenn man gescheite, vernünftige, kleine Funktionen schreibt.</p>
<p>Mir ist schon oft aufgefallen, dass die ganzen Diskussionen über Kontrolstrukturen nur von Leuten geführt werden, die riesige Funktionen schreiben. Wer ordentlich programmiert, braucht solche &quot;Features&quot; nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474622</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 15 Mar 2008 00:20:48 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 00:22:21 GMT]]></title><description><![CDATA[<p>Ein goto erzeugt wie schon gesagt immer Spaghetticode.<br />
Du springst aus deinem nachvollziehbaren Ablauf an eine andere komplett andere Stelle des Programms.<br />
Und je umfangreicher und verschachteleter der Schleifenrumpf oder Rümpfe umso schlimmer wird das.<br />
Ein goto ist nicht nur manchmal böse.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474623</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474623</guid><dc:creator><![CDATA[fhul]]></dc:creator><pubDate>Sat, 15 Mar 2008 00:22:21 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 00:24:42 GMT]]></title><description><![CDATA[<p>@Optimizer<br />
Dem kann ich nur zustimmen. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474624</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474624</guid><dc:creator><![CDATA[fhul]]></dc:creator><pubDate>Sat, 15 Mar 2008 00:24:42 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 00:38:12 GMT]]></title><description><![CDATA[<p>Nur die Äußerung, das PHP eine Frickelsprache ist, stößt mir etwas auf.<br />
PHP hat mit Sicherheit einige Defiziete, ob es nun die Sicherheit oder aber die Umsetzung der OO geht.<br />
Aber zum Frickeln gehören immer zwei. Da kann in C++ genauso viel gefrickelt werden.<br />
Nur bei PHP wirst du durch die Möglichkeiten halt öfter zum frickeln inspiriert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474625</guid><dc:creator><![CDATA[fhul]]></dc:creator><pubDate>Sat, 15 Mar 2008 00:38:12 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 00:39:46 GMT]]></title><description><![CDATA[<p>@Optimizer: sag ich ja auch gar nicht, ein derartiges Konstrukt hab ich persönlich nie gebraucht. Ich finde nur die Aussage Goto sei grundsätzlich böse ein wenig zu radikal. Es ist bewiesen, dass goto kein gutes Sprachmittel ist, aber man sollte sich immer die Nachteile vor Augen führen und selbst darüber nachdenken, ob diese hier wirklich greifen. Und irgendwas mit irgendwelchen Flags rumzuhantieren ist weniger gut nachzuvollziehen als ein brich die Schleife jetzt ab.<br />
Fhul, du sagst man würde in einen komplett anderen Programmteil geworfen, aber das ist nicht wirklich so, man bricht lediglich die Schleife ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474626</guid><dc:creator><![CDATA[Benutzername:]]></dc:creator><pubDate>Sat, 15 Mar 2008 00:39:46 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 00:47:06 GMT]]></title><description><![CDATA[<p>Benutzername: schrieb:</p>
<blockquote>
<p>Und irgendwas mit irgendwelchen Flags rumzuhantieren ist weniger gut nachzuvollziehen als ein brich die Schleife jetzt ab.</p>
</blockquote>
<p>Dem stimme ich zu. Aber dann würde ich die Schleife mit einem return abbrechen. Ich sag jetzt schon nicht, dass jedes break böse ist, aber return ziehe ich klar vor. Auf jeden Fall behaupte ich, dass ein break 2 böse ist. Ich weiß, es gibt keine absolute Wahrheit bei sowas, aber man braucht sich das Leben schon nicht irre kompliziert machen, damit man ja nicht die eine Gelegenheit verpasst, wo ein break 2 die beste Lösung scheint. Da ist es leichter, break 2 und goto zu verteufeln, da verpasst man jetzt schon nichts. <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>btw. Eine Schleife hat ja normal irgendeinen bestimmten Zweck, diesen Zweck kann man benennen und schon hat man eine Funktion. Man kann auch aus einer geschachtelten Schleife returnen. Es ist viel leserlicher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474628</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474628</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 15 Mar 2008 00:47:06 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 00:48:46 GMT]]></title><description><![CDATA[<blockquote>
<p>Fhul, du sagst man würde in einen komplett anderen Programmteil geworfen, aber das ist nicht wirklich so, man bricht lediglich die Schleife ab</p>
</blockquote>
<p>Du springst an die Stelle, die du definierst. Ob das nun direkt nach den Schleifenrumpf ist kann sein, muss aber nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474629</guid><dc:creator><![CDATA[fhul]]></dc:creator><pubDate>Sat, 15 Mar 2008 00:48:46 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 02:19:00 GMT]]></title><description><![CDATA[<p>ich hatte noch nie das Vergnügen PHP lesen zu müssen aber bei break n dreht sich mir echt der Magen um. Jedes goto mit benannter Sprungmarke ist ein Segen dagegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474637</guid><dc:creator><![CDATA[DrGreenthumb]]></dc:creator><pubDate>Sat, 15 Mar 2008 02:19:00 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 06:54:34 GMT]]></title><description><![CDATA[<p>und dann noch endOfLoops2 und endOfLoops3 ...</p>
<p>Einfach den Code besser in Funktionen verteilen und schon ist das ganz hinfällig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474646</guid><dc:creator><![CDATA[jaja]]></dc:creator><pubDate>Sat, 15 Mar 2008 06:54:34 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 08:53:31 GMT]]></title><description><![CDATA[<p>[snip... wiedermal nicht bis zum Ende einen Thread gelesen... aber egal, trifft immer noch den Kontext]</p>
<p>Benutzername: schrieb:</p>
<blockquote>
<p>Der Nachteil von Spaghetticode, ist dass er schwer nachzuvollziehen ist und das ist in diesem Fall nicht gegeben.</p>
</blockquote>
<p>Spätestens wenn etwas mehr Inhalt in der Scheife dazukommt ist es wieder gegeben. Und Programmierer sind (zumeist) faul [Nicht unbedingt weil sie es wirklich sind, sondern weil es etwas gibt das sich Zeitdruck nennt] und ändern dann nicht zwangsweise den Code wieder ab.</p>
<p>Es gibt immer bessere Alternativen als goto. Ich komme seit 19 Jahren ohne goto aus (um genau zu sein, seit ich programmiere; Mag vielleicht auch daran liegen das ich die Programmierung unter gewisser Aufsicht erlernt habe, mein Vater ist auch in der Programmierung und QS Tätig ;p), da solle es auch anderen möglich sein es zu umgehen.</p>
<p>cu André<br />
P.S: Und davon abgesehen sind tiefe Schleifenverschachtelungen auch meist nur ein Zeichen unschönen Codes. Meist läuft das mit langen Funktionen einher, und die sollte man eh lieber in ihre Einzelteile untergliedern. Alleine schon der Lesbarkeit wegen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474663</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Sat, 15 Mar 2008 08:53:31 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 12:25:20 GMT]]></title><description><![CDATA[<p>wer meint es gibt fett-gedruckt-immer bessere lösungen als gotos kann sich ja diesen artikel durchlesen</p>
<p><a href="http://stevemcconnell.com/ccgoto.htm" rel="nofollow">http://stevemcconnell.com/ccgoto.htm</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474771</guid><dc:creator><![CDATA[Vevusio]]></dc:creator><pubDate>Sat, 15 Mar 2008 12:25:20 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 12:41:07 GMT]]></title><description><![CDATA[<p>Optimizer schrieb:</p>
<blockquote>
<p>Wie wäre es mal mit einem anständigen Programmierstil? PHP ist eine Frickelsprache und kann als Vorbild nicht herhalten. Die ganze Diskussion break, break mit Zahl, goto usw. ist überflüssig, wenn man gescheite, vernünftige, kleine Funktionen schreibt.</p>
<p>Mir ist schon oft aufgefallen, dass die ganzen Diskussionen über Kontrolstrukturen nur von Leuten geführt werden, die riesige Funktionen schreiben. Wer ordentlich programmiert, braucht solche &quot;Features&quot; nicht.</p>
</blockquote>
<p>Java hat weder break X noch goto. OMG wie kann man da nur Programme schreiben?</p>
<p>asc hat mich dadrauf aufmerksam gemacht das ich auch noch <em>nie</em> goto eingesetzt habe und ich programmiere jetzt seit 13 Jahren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474777</guid><dc:creator><![CDATA[DEvent]]></dc:creator><pubDate>Sat, 15 Mar 2008 12:41:07 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 12:40:19 GMT]]></title><description><![CDATA[<p>Vevusio schrieb:</p>
<blockquote>
<p>wer meint es gibt fett-gedruckt-immer bessere lösungen als gotos kann sich ja diesen artikel durchlesen<br />
<a href="http://stevemcconnell.com/ccgoto.htm" rel="nofollow">http://stevemcconnell.com/ccgoto.htm</a></p>
</blockquote>
<p>und natürlich den klassiker: <a href="http://pplab.snu.ac.kr/courses/adv_pl05/papers/p261-knuth.pdf" rel="nofollow">http://pplab.snu.ac.kr/courses/adv_pl05/papers/p261-knuth.pdf</a><br />
<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/1474778</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474778</guid><dc:creator><![CDATA[goto-freak]]></dc:creator><pubDate>Sat, 15 Mar 2008 12:40:19 GMT</pubDate></item><item><title><![CDATA[Reply to C++ ist eigentlich eine schöne Sprache, nur... on Sat, 15 Mar 2008 13:49:59 GMT]]></title><description><![CDATA[<p>fhul schrieb:</p>
<blockquote>
<p>Ein goto erzeugt wie schon gesagt immer Spaghetticode.<br />
Du springst aus deinem nachvollziehbaren Ablauf an eine andere komplett andere Stelle des Programms.<br />
Und je umfangreicher und verschachteleter der Schleifenrumpf oder Rümpfe umso schlimmer wird das.<br />
Ein goto ist nicht nur manchmal böse.</p>
</blockquote>
<p>Manchmal ist ein goto auch Sinnvoll. Zumindest in C.</p>
<p>Sowas ist unschön:</p>
<pre><code class="language-cpp">int fehler = 0;
if (expr1) {
  ...
  if (expr 2) {
    ...
    if (expr3) {
      ...
      if (expr 4) {
         ...
      } else {
        fehler = 1;
      } 
    } else {
      fehler = 1
    }
  } else {
    fehler = 1;
  }
} else {
  fehler = 1;
}

if (fehler) {
  [ aufräumen ]
  return FEHLER;
} else {
  return ERFOLG;
}
</code></pre>
<p>schöner</p>
<pre><code class="language-cpp">if (!expr1) {
  [ aufräumen ]
  return FEHLER;
}

if (!expr 2) {
  [ aufräumen ]
  return FEHLER;
}

if (!expr3) {
  [ aufräumen ]
  return FEHLER;
}

if (!expr 4) {
  [ aufräumen ]
  return FEHLER;
}

// aufräumen
</code></pre>
<p>Weniger fehleranfällig und erheblich besser zu lesen:</p>
<pre><code class="language-cpp">if (!expr1) {
  goto ERROR_CLEANUP;
}

if (!expr 2) {
  goto ERROR_CLEANUP;
}

if (!expr3) {
  goto ERROR_CLEANUP;
}

if (!expr 4) {
  goto ERROR_CLEANUP;
}

return ERFOLG;
ERROR_CLEANUP:
  [ aufräumen ]
  return FEHLER;
</code></pre>
<p>In C++ braucht man sowas nicht mehr und es wäre auch nicht Exception-Sicher. Aber in C trägt sowas zu Lesbarkeit bei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1474799</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1474799</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sat, 15 Mar 2008 13:49:59 GMT</pubDate></item></channel></rss>