<?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[Funktionen]]></title><description><![CDATA[<p>Hey Leute ich habe da mal eine Frage zu Funktionen.<br />
Macht es Sinn jeden größeren Abschnitt eines Programmes in einer Funktion zu stecken? (Manche werden nur einmal aufgerufen)<br />
Und nicht den ganzen Code in main rein schreibt?<br />
Weil ich meine gehört zu haben, dass der main Code zu kurz wie möglich sein soll.</p>
<p><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/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/324492/funktionen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 14 Jul 2026 08:40:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/324492.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 19 Mar 2014 13:19:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktionen on Wed, 19 Mar 2014 13:20:29 GMT]]></title><description><![CDATA[<p>Hey Leute ich habe da mal eine Frage zu Funktionen.<br />
Macht es Sinn jeden größeren Abschnitt eines Programmes in einer Funktion zu stecken? (Manche werden nur einmal aufgerufen)<br />
Und nicht den ganzen Code in main rein schreibt?<br />
Weil ich meine gehört zu haben, dass der main Code zu kurz wie möglich sein soll.</p>
<p><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/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2389731</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2389731</guid><dc:creator><![CDATA[Skeptar]]></dc:creator><pubDate>Wed, 19 Mar 2014 13:20:29 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Wed, 19 Mar 2014 13:33:53 GMT]]></title><description><![CDATA[<p>Natürlich macht das Sinn. Es macht sogar Sinn, kleinere Aufgaben in Funktionen aufzuteilen, auch wenn diese nur einmal aufgerufen werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2389737</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2389737</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 19 Mar 2014 13:33:53 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Wed, 19 Mar 2014 13:35:41 GMT]]></title><description><![CDATA[<p>Wie groß die main-Funktion ist sowohl dem Computer als auch dem Compiler egal. Theoretisch.</p>
<p>Aber meistens bringt es Übersicht (und zwar nicht nur in main) logisch zusammenhängende Befehle in Funktionen auszulagern.</p>
<p>Bsp:<br />
Du willst z.B. für ne simple GUI auf KOnsolenebene eine Überschrift ausgeben:</p>
<pre><code>int main()
{
    // ...
    cout &lt;&lt; &quot;+---------------------------------------------------&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;+---------------------------------------------------&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;+--------------Hallo ich bin der Peter--------------&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;+---------------------------------------------------&quot; &lt;&lt; endl;
    cout &lt;&lt; &quot;+---------------------------------------------------&quot; &lt;&lt; endl;
    // ...
}
</code></pre>
<p>Sowas auszulagern bringt meistens mehr Übersicht. Und klar, wie du sagst, sobald du diese Funktionalität mehrmals benötigst, hast du schon was gewonnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2389738</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2389738</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 19 Mar 2014 13:35:41 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Wed, 19 Mar 2014 13:40:49 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>meiner pers. Meinung nach ... ja!<br />
Man sollte zusammengehörende Blöcke in einzelne Funktionen packen, auch wenn sie am Anfang nur ein einziges Mal aufgerufen werden.</p>
<p>a) unter Umständen kann man sie ja später doch nochmal verwenden<br />
b) erhöht es halt ungemein die Lesbarkeit</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2389740</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2389740</guid><dc:creator><![CDATA[My2Cents]]></dc:creator><pubDate>Wed, 19 Mar 2014 13:40:49 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Wed, 19 Mar 2014 14:00:14 GMT]]></title><description><![CDATA[<p>Gut danke für die Antworten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
Dann weiß ich nun, das es nicht falsch ist :p</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2389742</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2389742</guid><dc:creator><![CDATA[Skeptar]]></dc:creator><pubDate>Wed, 19 Mar 2014 14:00:14 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Wed, 26 Mar 2014 17:52:32 GMT]]></title><description><![CDATA[<p>Ich habe nochmal eine Frage zu den Funktionen.</p>
<p>Sollte man Funktionen in Funktionen aufrufen?<br />
Also ich habe eine Funktion_1 in der ich Funktion_2 aufrufe und in Funktion_2 rufe ich Funktion_3 auf.<br />
Sollte man das so machen?</p>
<p>edit:<br />
Weil teilweise hat man schon Probleme und switch von Funktion zu Funktion weil die alle was miteinander zutun haben. Und mann muss der aller ersten Funktion_1 die Parameter übergeben die in Funktion_2 &amp; Funktion_3 benutzt werden aber gar nicht selber in Funktion_1</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2391343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391343</guid><dc:creator><![CDATA[Skeptar]]></dc:creator><pubDate>Wed, 26 Mar 2014 17:52:32 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Wed, 26 Mar 2014 18:09:20 GMT]]></title><description><![CDATA[<p>Skeptar schrieb:</p>
<blockquote>
<p>Sollte man Funktionen in Funktionen aufrufen?</p>
</blockquote>
<p>Ja, selbstverständlich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2391352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391352</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Wed, 26 Mar 2014 18:09:20 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Wed, 26 Mar 2014 19:18:38 GMT]]></title><description><![CDATA[<p>Du solltest aber auch im Blick behalten, wie tief du die Funktionsaufrufe ineinanderschachtelst, gewollt oder vielleicht userbedingt ungewollt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2391373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391373</guid><dc:creator><![CDATA[Molse]]></dc:creator><pubDate>Wed, 26 Mar 2014 19:18:38 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Wed, 26 Mar 2014 20:56:15 GMT]]></title><description><![CDATA[<p>Das ist gewöhnlich kein Problem. Erst wenn du Rekursion einsetzt solltest du da mal einen Gedanken dran geben, vorher ist das normalerweise kein Problem.</p>
<p>Ein heutiger Rechner verkraftet schon einige Funktionsaufrufe, ich würde bei kleinen Funktionen mal schätzen an die 100.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2391385</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391385</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Wed, 26 Mar 2014 20:56:15 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Thu, 27 Mar 2014 05:12:04 GMT]]></title><description><![CDATA[<p>Skeptar schrieb:</p>
<blockquote>
<p>... Macht es Sinn jeden größeren Abschnitt eines Programmes in einer Funktion zu stecken? (Manche werden nur einmal aufgerufen)...</p>
</blockquote>
<p>Macht keinen Sinn, schließlich sind wir in C++, da kann man auch <em>Klassen</em> bauen und da Code reinpacken... (Ironie aus...)</p>
<p>Nee, mal im Ernst:</p>
<p>Es gibt ein nettes Buch &quot;Clean Code&quot; (Robert C. Martin), der beschreibt einen Programmierer, in dessen Programm hatte keine Funktion mehr als ca. 3 Zeilen. OK, die Java-Leute spinnen bisweilen, das halte ich für übertrieben.</p>
<p>Aber die Idee dahinter ist: Sobald man eine kleine, abgegrenzte Aufgabe identifizieren kann, kann man die paar Zeilen in eine Funktion stecken und diese nach dem benennen, was sie tut. Und sie sollte genau <strong>eine</strong> Aufgabe erledigen.</p>
<p>Den Funktionsaufruf kann man, zusammen mit anderen und anderem Code, wieder irgendwo zusammenfassen, was man passend benennen kann, nur eben eine Ebene abstrakter. Auf einmal hast du statt einer endlosten Textwüste eine nette Sammlung von high-level-Aufrufen, die das Programm kurz und knapp beschreiben, schön übersichtlich. Wie ein Inhaltsverzeichnis. Und so sollte es sich lesen: wie Prosatext.</p>
<p>Bis hin zu main(), das &quot;nur&quot; noch die Aufgaben benötigt:</p>
<pre><code>int main()
{
    init();
    runApplication();
    cleanup();
}
</code></pre>
<p>Das Erkennen und <em>richtige</em> Abgrenzen von Verantwortlichkeiten und Aufgaben, das richtige Zusammenfassen, bennenen usw. ist dagegen nicht einfach und erfordert viel Übung. Aber nur zu, das ist der Weg!</p>
<p>Wenn du dagegen alles in main() hast, dann guten Appetit, denn dann hast du Spaghetti-Code... <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/2391390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391390</guid><dc:creator><![CDATA[minastaros]]></dc:creator><pubDate>Thu, 27 Mar 2014 05:12:04 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Fri, 28 Mar 2014 15:47:53 GMT]]></title><description><![CDATA[<p>Super danke für die Antworten <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/2391629</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391629</guid><dc:creator><![CDATA[Skeptar]]></dc:creator><pubDate>Fri, 28 Mar 2014 15:47:53 GMT</pubDate></item><item><title><![CDATA[Reply to Funktionen on Fri, 28 Mar 2014 15:53:39 GMT]]></title><description><![CDATA[<p>minastaros schrieb:</p>
<blockquote>
<p>der beschreibt einen Programmierer, in dessen Programm hatte keine Funktion mehr als ca. 3 Zeilen. OK, die Java-Leute spinnen bisweilen, das halte ich für übertrieben.</p>
</blockquote>
<p>Kontraproduktiv triffst eher...ich zumindest hätte keine Lust so einen Code zu warten/lesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2391631</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2391631</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Fri, 28 Mar 2014 15:53:39 GMT</pubDate></item></channel></rss>