<?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[Ist das guter Stil]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Funktion, die eine mathematische Berechnung durchführt. Beispiel:</p>
<pre><code class="language-cpp">long calc(int r)
{
 return r*r;
}
</code></pre>
<p>Sollte solch eine Funktion in einer Schleife immer wieder aufgerufen werden:</p>
<pre><code class="language-cpp">long x[10];
for (int i = 0; i &lt; 10; i++)
 x[i] = calc(i);
</code></pre>
<p>Oder sollte man gleich ein temp Array in &quot;calc&quot; füllen und dann einen Zeiger zurückgeben. Dann riefe man &quot;Calc&quot; nicht so oft auf. Stiege dadurch dann nicht die Effizuenz?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/259751/ist-das-guter-stil</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 17:14:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259751.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 27 Jan 2010 12:04:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ist das guter Stil on Wed, 27 Jan 2010 12:04:07 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe eine Funktion, die eine mathematische Berechnung durchführt. Beispiel:</p>
<pre><code class="language-cpp">long calc(int r)
{
 return r*r;
}
</code></pre>
<p>Sollte solch eine Funktion in einer Schleife immer wieder aufgerufen werden:</p>
<pre><code class="language-cpp">long x[10];
for (int i = 0; i &lt; 10; i++)
 x[i] = calc(i);
</code></pre>
<p>Oder sollte man gleich ein temp Array in &quot;calc&quot; füllen und dann einen Zeiger zurückgeben. Dann riefe man &quot;Calc&quot; nicht so oft auf. Stiege dadurch dann nicht die Effizuenz?</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845641</guid><dc:creator><![CDATA[stil]]></dc:creator><pubDate>Wed, 27 Jan 2010 12:04:07 GMT</pubDate></item><item><title><![CDATA[Reply to Ist das guter Stil on Wed, 27 Jan 2010 12:08:21 GMT]]></title><description><![CDATA[<p>Wieso sollte das effizienter sein?<br />
Wenn du eine Berechnung hast dann sollte eine Funktion nur diese Berechnung durchführen. Wenn du nämlich an anderer Stelle mal kein Array haben willst sondern nur einmal die Berechnung ausführen willst hast du ein Problem.</p>
<p>Biete doch einfach zusätzlich eine Funktion an, die mit einem Array arbeitet, intern aber die arraylose Funktion verwendet. Ist flexibler und jede Funktion hat eine eigene wohldefinierte Aufgabe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845645</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Wed, 27 Jan 2010 12:08:21 GMT</pubDate></item><item><title><![CDATA[Reply to Ist das guter Stil on Wed, 27 Jan 2010 12:10:57 GMT]]></title><description><![CDATA[<p>Bei mir ist es halt so, dass diese Berechnung wieder von einer anderen Berechnung aufgerufen wird. Der Parameter wird also &quot;durchgereicht&quot;. Die Methode wir immer wieder aufgerufen, die dann wieder eine andere aufruft. Es wird also immer eine Kopie gemacht und ich dachte das sei nicht so effizient.</p>
<p>Also, würdet ihr das auch so machen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845649</guid><dc:creator><![CDATA[stil]]></dc:creator><pubDate>Wed, 27 Jan 2010 12:10:57 GMT</pubDate></item><item><title><![CDATA[Reply to Ist das guter Stil on Wed, 27 Jan 2010 12:18:43 GMT]]></title><description><![CDATA[<p>So eine kleine Funktion kann man auch als inline deklarieren, damit hast du dann keine Zeitverschwendung beim aufrufen, hast aber trozdem eine Funktion. <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/1845654</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845654</guid><dc:creator><![CDATA[genau]]></dc:creator><pubDate>Wed, 27 Jan 2010 12:18:43 GMT</pubDate></item><item><title><![CDATA[Reply to Ist das guter Stil on Wed, 27 Jan 2010 12:19:15 GMT]]></title><description><![CDATA[<p>Bei der Methode hast du halt noch zusätzlich eine Sprunganweisung für calc. Also calc inline machen und dann ist es tatsächlich egal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845655</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845655</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Wed, 27 Jan 2010 12:19:15 GMT</pubDate></item><item><title><![CDATA[Reply to Ist das guter Stil on Wed, 27 Jan 2010 12:22:04 GMT]]></title><description><![CDATA[<p>stil schrieb:</p>
<blockquote>
<p>Es wird also immer eine Kopie gemacht und ich dachte das sei nicht so effizient.</p>
</blockquote>
<p>Das wirst du nicht merken! Optimier später, schau erstmal dass dein Programm funktioniert und übersichtlich ist.<br />
Bei den eingebauten Typen (integer, double, ...) wirst du nichts merken. Da bringt es nichtmal was, wenn Funktionsargumente per Referenz übergeben werden.<br />
Wenn du dir unnötige Funktionsaufrufe sparen willst, schau dass der Compiler die Funktionen inlined.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845658</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845658</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Wed, 27 Jan 2010 12:22:04 GMT</pubDate></item><item><title><![CDATA[Reply to Ist das guter Stil on Wed, 27 Jan 2010 12:29:16 GMT]]></title><description><![CDATA[<blockquote>
<p>Da bringt es nichtmal was, wenn Funktionsargumente per Referenz übergeben werden.</p>
</blockquote>
<p>Ja, sie sind in der Regel ja auch genauso groß wie eine Speicheradresse Platz braucht <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/1845666</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845666</guid><dc:creator><![CDATA[krabbels]]></dc:creator><pubDate>Wed, 27 Jan 2010 12:29:16 GMT</pubDate></item><item><title><![CDATA[Reply to Ist das guter Stil on Wed, 27 Jan 2010 18:07:48 GMT]]></title><description><![CDATA[<p>Vertraue auf deinen Compiler. Der weiss besser als du, wo Optimierung nötig ist und wo nicht. Und falls er sich schlussendlich doch irrt, findest du mit einem Profiler raus und dann kannst du dir Gedanken über solche Sachen machen.</p>
<p>Eine solche Funktion wird der Compiler wahrscheinlich inlinen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1845915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1845915</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 27 Jan 2010 18:07:48 GMT</pubDate></item></channel></rss>