<?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[Code verbessern]]></title><description><![CDATA[<p>aaaaaaaaaaaaaaaaaaaa</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/302038/code-verbessern</link><generator>RSS for Node</generator><lastBuildDate>Mon, 10 Aug 2026 09:16:21 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/302038.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 09 Apr 2012 20:43:21 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Code verbessern on Fri, 18 May 2012 22:44:53 GMT]]></title><description><![CDATA[<p>aaaaaaaaaaaaaaaaaaaa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200320</guid><dc:creator><![CDATA[bres]]></dc:creator><pubDate>Fri, 18 May 2012 22:44:53 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Mon, 09 Apr 2012 20:51:12 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">for (int i = 0; i &lt; 3; i++)
{
     switch (i)
     {
          case 0:
          DoThing1();
          break;
          case 1:
          DoThing2();
          break;
          case 2:
          DoThing3();
          break;
     }
}
</code></pre>
<p>Wie kommst du auf dieses Konstrukt? Wieso nicht einfach:</p>
<pre><code class="language-cpp">DoThing1();
DoThing2();
DoThing3();
</code></pre>
<p>Warum rufst du Next() in den Funktionen auf? Das dürfte Aufgabe des Aufrufers sein (kommt natürlich darauf an, was die Funktionen tatsächlich machen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200323</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Mon, 09 Apr 2012 20:51:12 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Mon, 09 Apr 2012 20:53:54 GMT]]></title><description><![CDATA[<p>bres schrieb:</p>
<blockquote>
<pre><code>for (int i = 0; i &lt; 3; i++)
{
     switch (i)
     {
          case 0:
          DoThing1();
          break;
          case 1:
          DoThing2();
          break;
          case 2:
          DoThing3();
          break;
     }
}
</code></pre>
</blockquote>
<p>Daraus würde ich:</p>
<pre><code>DoThing1();
DoThing2();
DoThing3();
</code></pre>
<p>machen, da du genau das erreichst..</p>
<p>bres schrieb:</p>
<blockquote>
<pre><code>void Next(state)
{
     switch (state)
     {
          case INITIAL:
          DoThing1();
          break;
          case THING1:
          DoThing2();
          break;
          case THING2:
          DoThing3();
          break;
          case THING3:
// do nothing -- exit
          break;
    }
}
void DoThing1()
{
     // Do &quot;thing 1&quot;
     Next(THING1);
}
</code></pre>
</blockquote>
<p>Warum rufst du nicht einfach DoThing2 auf, anstatt das über Next zu machen?</p>
<p>So wie ich das sehe rufst du durch eine Schleife erst DoThing1 auf, was dann DoThing2, was dann DoThing3 aufruft. Danach rufst du DoThing2 über die Schleife auf, was dann DoThing3 aufruft.. Dann nochmal DoThing3. Ist das gewollt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200325</guid><dc:creator><![CDATA[Fl0]]></dc:creator><pubDate>Mon, 09 Apr 2012 20:53:54 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Mon, 09 Apr 2012 20:56:17 GMT]]></title><description><![CDATA[<p>Sofern die for-Schleife in irgendeiner Funktion steht, ist sie äquivalent zu:</p>
<pre><code class="language-cpp">for(int i = 0; i &lt; 3; ++i)
{
    for(int j = i; j &lt; 3; ++j)
    {
        DoThing(j);
    }
}
</code></pre>
<p>Und in void DoThing(int n) tust du dann die verschiedenen Sachen, die zu tun sind, rein...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200326</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200326</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Mon, 09 Apr 2012 20:56:17 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Mon, 09 Apr 2012 21:54:55 GMT]]></title><description><![CDATA[<p>Irgendwie bekommt man das Gefühl, das die Switch Anweisung gar nicht so gut für Anfänger zu sein scheint, die C-Typ Sprachen lernen wollen. Man liest öfter seltsame Konstruktionen mit Switch.</p>
<p>Wenn das Programm nur klein ist bzw. die Anzahl der abzuarbeitenen Punkte, dann kann man auch auf die Schleife verzichten</p>
<p>Falls man tatsächlich Fallunterscheidungen machen muß, dann würde ich in Assembler erstmal versuchen, die Funktionen mit Adresse und bißchen Rechnerei anzusteuern und je nachdem, wieviel Speicherplatz die Funktion braucht, als Grundwert, sowas wie 40 oder 100 oder was auch immer</p>
<pre><code class="language-asm">and al,0f
mul al 20 ;oder einfach nach links shiften und basiswert draufaddieren
add bl,al
</code></pre>
<p>..habe aber irgendwo auch schon mal im Forum eine tolle (kurze) c++ Variante für Morsecode-Übersetzer gefunden, aber die finde ich jetzt nicht auf die schnelle. Wie man aber sieht, gibt es viele Lösungen, und die sind meist alle OK, denn:</p>
<blockquote>
<p>premature optimization is the root of all evil</p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2200335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200335</guid><dc:creator><![CDATA[nachtfeuer]]></dc:creator><pubDate>Mon, 09 Apr 2012 21:54:55 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Tue, 10 Apr 2012 09:28:48 GMT]]></title><description><![CDATA[<p>nachtfeuer schrieb:</p>
<blockquote>
<blockquote>
<p>premature optimization is the root of all evil</p>
</blockquote>
</blockquote>
<p>langsam nervts gewaltig</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2200415</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200415</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Tue, 10 Apr 2012 09:28:48 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Tue, 10 Apr 2012 09:39:25 GMT]]></title><description><![CDATA[<p>Das ist das <a href="http://thedailywtf.com/Articles/The_FOR-CASE_paradigm.aspx" rel="nofollow">FOR-CASE</a> Antipattern. Es gibt sogar eine Wikipedia-Seite dafür: <a href="http://en.wikipedia.org/wiki/Loop-switch_sequence" rel="nofollow">http://en.wikipedia.org/wiki/Loop-switch_sequence</a> <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/2200420</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2200420</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Tue, 10 Apr 2012 09:39:25 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Fri, 18 May 2012 22:45:27 GMT]]></title><description><![CDATA[<p>aaaaaaaaaaaaaa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212671</guid><dc:creator><![CDATA[bres]]></dc:creator><pubDate>Fri, 18 May 2012 22:45:27 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Thu, 17 May 2012 21:33:20 GMT]]></title><description><![CDATA[<p>bres schrieb:</p>
<blockquote>
<pre><code class="language-cpp">DoThing1();
DoThing2();
DoThing3();

void DoThing1()
{
     DoThing2();
}
void DoThing2()
{
     DoThing3();
}
void DoThing3()
{
     break;
}
</code></pre>
</blockquote>
<p>Was zu Hölle? Ich glaube ich brauch gar nichts mehr sagen... hast du den Sinn von Funktionen verstanden?</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/904">@Bashar</a>: Was man hier nicht alles lernt ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212673</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 17 May 2012 21:33:20 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Thu, 17 May 2012 21:37:03 GMT]]></title><description><![CDATA[<p>bres schrieb:</p>
<blockquote>
<p>Sorry das ich nicht gleich zurück geschrieben habe! Aber schon mal vielen Dank für eure Hilfe!</p>
<p>Würde der Code von mir optimiert bzw. verbessert so aussehen?</p>
<pre><code class="language-cpp">DoThing1();
DoThing2();
DoThing3();

void DoThing1()
{
     DoThing2();
}
void DoThing2()
{
     DoThing3();
}
void DoThing3()
{
     break;
}
</code></pre>
</blockquote>
<p>DoThing3 sollte nicht einmal compilieren, also kann's wohl kaum richtig sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212675</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 17 May 2012 21:37:03 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Fri, 18 May 2012 22:45:50 GMT]]></title><description><![CDATA[<p>aaaaaaaaaaaaaa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212678</guid><dc:creator><![CDATA[bres]]></dc:creator><pubDate>Fri, 18 May 2012 22:45:50 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Fri, 18 May 2012 22:46:03 GMT]]></title><description><![CDATA[<p>aaaaaaaaaaaaaa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212679</guid><dc:creator><![CDATA[bres]]></dc:creator><pubDate>Fri, 18 May 2012 22:46:03 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Thu, 17 May 2012 21:58:52 GMT]]></title><description><![CDATA[<p>bres schrieb:</p>
<blockquote>
<p>Auf den Ansatz bin ich aufgrund der Aussage von Flo gekommen...hmmmmmm aber die FOR Schleife ist doch sinnlos oder nicht?</p>
</blockquote>
<p>Ja, praktisch alle Kontrollstrukturen in deinem ursprünglichen Code waren nicht sinnvoll angewendet. Deine Verbesserung ist auch schon fast richtig. Hättest du sie mal ausprobiert, wäre dir der Fehler auch sofort aufgefallen, denn, wie gesagt, durch den Fehler compiliert das nicht einmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212681</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 17 May 2012 21:58:52 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Fri, 18 May 2012 22:46:30 GMT]]></title><description><![CDATA[<p>aaaaaaaaaaaaaaaa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212682</guid><dc:creator><![CDATA[bres]]></dc:creator><pubDate>Fri, 18 May 2012 22:46:30 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Fri, 18 May 2012 06:25:58 GMT]]></title><description><![CDATA[<p>bres schrieb:</p>
<blockquote>
<p>Hmmmm ok, aber was gibt es hier für eine Möglichkeit anstatt break? Der Lösungsansatz zu meinen Code oben war vorgegeben. Dieser lautete : Lassen Sie aus den Programm die Heißluft entweichen, indem Sie die<br />
Schleife entrollen bzw. die Prozeduraufrufe, startend mit Next(INITIAL), expandieren!</p>
</blockquote>
<p>Irgendwie glaube ich, du hast ein paar Grundlagen ganz falsch verstanden. Wie lernst du nochmal, in der Schule? Wenn du auf so eine Sache kommst wie die Funktion oben, dann denkst du vielleicht dass Funktionen irgendwelche Makros sind, oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212700</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212700</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Fri, 18 May 2012 06:25:58 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Fri, 18 May 2012 22:46:46 GMT]]></title><description><![CDATA[<p>aaaaaaaaaaa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212782</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212782</guid><dc:creator><![CDATA[bres]]></dc:creator><pubDate>Fri, 18 May 2012 22:46:46 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Fri, 18 May 2012 12:15:18 GMT]]></title><description><![CDATA[<p>bres schrieb:</p>
<blockquote>
<p>Ich würde mal sagen eine Funktion und ein Makro sind ähnlich...</p>
</blockquote>
<p>Sie sind weitgehend identisch. Die zwei Unterschiede sind die Linkage (was du richtig erkannt hast) und das Detail, dass Macros primitiv-rekursiv, Funktionen aber μ-rekursiv sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212794</guid><dc:creator><![CDATA[primitivunreg]]></dc:creator><pubDate>Fri, 18 May 2012 12:15:18 GMT</pubDate></item><item><title><![CDATA[Reply to Code verbessern on Fri, 18 May 2012 12:25:25 GMT]]></title><description><![CDATA[<p>Und das passiert, wenn man zu oft dumme Fragen gestellt hat, sich lernunwillig gibt oder sich mit Benutzung von Fachwörtern aufspielen will, obwohl man sie offensichtlich nicht versteht. Dann will einem irgendwann niemand mehr helfen und stattdessen kommen die Scherzbolde hervor gekrochen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2212795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2212795</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 18 May 2012 12:25:25 GMT</pubDate></item></channel></rss>