<?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[Design Frage]]></title><description><![CDATA[<p>Yo Abend, also ich hab eine Klasse wo bestimmte Funktionen öfters aufgerufen werden.</p>
<p>Sollte ich die Variablen die in der Funktion die öfters aufgerufen wird diese Variablen dann Global machen? Also z.b. auf private setzen?</p>
<p>Oder ist das egal?</p>
<p>Es sind keine großen Variablen die da in der Funktion sind nur ein paar int und vielleicht mal ein long oder char.</p>
<p>Bzw. wann macht es überhaupt Sinn eine Variable Lokal in eine Funktion zu packen wenn die Funktion in einer Klasse ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/300204/design-frage</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 22:00:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/300204.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 27 Feb 2012 19:09:16 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Design Frage on Mon, 27 Feb 2012 19:09:16 GMT]]></title><description><![CDATA[<p>Yo Abend, also ich hab eine Klasse wo bestimmte Funktionen öfters aufgerufen werden.</p>
<p>Sollte ich die Variablen die in der Funktion die öfters aufgerufen wird diese Variablen dann Global machen? Also z.b. auf private setzen?</p>
<p>Oder ist das egal?</p>
<p>Es sind keine großen Variablen die da in der Funktion sind nur ein paar int und vielleicht mal ein long oder char.</p>
<p>Bzw. wann macht es überhaupt Sinn eine Variable Lokal in eine Funktion zu packen wenn die Funktion in einer Klasse ist?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186354</guid><dc:creator><![CDATA[ClasDesigner]]></dc:creator><pubDate>Mon, 27 Feb 2012 19:09:16 GMT</pubDate></item><item><title><![CDATA[Reply to Design Frage on Tue, 28 Feb 2012 12:32:15 GMT]]></title><description><![CDATA[<p>Irgendwie verwechselst du da alle möglichen Begriffe wie global/private etc. aber meine Glaskugel sagt es geht um das hier:</p>
<pre><code class="language-cpp">class A
{
public:
  void foo()
  {
    int a, b, c, d;
    // Do smth with a, b, c, d
  }
};
</code></pre>
<p>Gegen:</p>
<pre><code class="language-cpp">class A
{
  int a, b, c, d;
public:
  void foo()
  {
    // Do smth with a, b, c, d
  }
};
</code></pre>
<p>Variante 1 dürfte in 95% der Fälle besser designt und gleichzeitig schneller sein. Mit absoluter Sicherheit kann man das aber erst sagen wenn du die Situation konkret schilderst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186355</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 28 Feb 2012 12:32:15 GMT</pubDate></item><item><title><![CDATA[Reply to Design Frage on Mon, 27 Feb 2012 19:17:08 GMT]]></title><description><![CDATA[<p>Allgemein gesagt sollten Variabeln so lokal wie moeglich gehalten werden. Wenn andere Funktionen nichts ueber eine Variable wissen muessen sollten sie es auch nicht koennen.</p>
<p>Es kann natuerlich Ausnahmen geben, z.B. zwecks Optimierung. Das ist aber eher selten der Fall.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186356</guid><dc:creator><![CDATA[icarus2]]></dc:creator><pubDate>Mon, 27 Feb 2012 19:17:08 GMT</pubDate></item><item><title><![CDATA[Reply to Design Frage on Mon, 27 Feb 2012 23:56:47 GMT]]></title><description><![CDATA[<p>cooky451 schrieb:</p>
<blockquote>
<p>Variante 2 dürfte in 95% der Fälle besser designt und gleichzeitig schneller sein. Mit absoluter Sicherheit kann man das aber erst sagen wenn du die Situation konkret schilderst.</p>
</blockquote>
<p>warum ? ich wuerde eher sagen das variante 1 schneller sein wuerde.</p>
<p>Meep Meep</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186447</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186447</guid><dc:creator><![CDATA[Meep Meep]]></dc:creator><pubDate>Mon, 27 Feb 2012 23:56:47 GMT</pubDate></item><item><title><![CDATA[Reply to Design Frage on Tue, 28 Feb 2012 00:05:57 GMT]]></title><description><![CDATA[<p>Meep Meep schrieb:</p>
<blockquote>
<p>cooky451 schrieb:</p>
<blockquote>
<p>Variante 2 dürfte in 95% der Fälle besser designt und gleichzeitig schneller sein. Mit absoluter Sicherheit kann man das aber erst sagen wenn du die Situation konkret schilderst.</p>
</blockquote>
<p>warum ? ich wuerde eher sagen das variante 1 schneller sein wuerde.</p>
<p>Meep Meep</p>
</blockquote>
<p>Kommt drauf an wie oft foo aufgerufen wird, besser gesagt, wie oft es am selben Objekt aufgerufen wird. Da du bei mehrfachen Aufrufen und lokalen Funktionsvariablen diese ständig neu erzeugen musst und am Ende wieder aufräumen musst und die Klassenvariablen ja &quot;nur&quot; wenn das Objekt der Klasse zerstört wird.</p>
<p>MfG marco</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186451</guid><dc:creator><![CDATA[Marc-O]]></dc:creator><pubDate>Tue, 28 Feb 2012 00:05:57 GMT</pubDate></item><item><title><![CDATA[Reply to Design Frage on Tue, 28 Feb 2012 08:40:42 GMT]]></title><description><![CDATA[<p>Meep Meep schrieb:</p>
<blockquote>
<p>warum ? ich wuerde eher sagen das variante 1 schneller sein wuerde.</p>
</blockquote>
<p>[Gilt natürlich nur bei trivialen Konstruktoren] - Die Reservierung/Freigabe auf dem Stack kommt immer nur einer Subtraktion/Addition gleich. Das ist quasi nichts - zudem besteht noch eine gute Chance für Compileroptimierungen.<br />
Wenn du aber über den Objektzeiger zugreifst hast du eine Dereferenzierung, und mit Pech liegt das nicht mal im Cache.</p>
<p>Eine Möglichkeit für eine Ausnahme wäre z.B. ein vorher reservierter Puffer, der nicht jedes Mal reserviert/genullt/freigegeben werden soll, und nur Zwischenergebnisse Speichert. Wobei ich das noch nie gebraucht habe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186476</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 28 Feb 2012 08:40:42 GMT</pubDate></item><item><title><![CDATA[Reply to Design Frage on Tue, 28 Feb 2012 08:41:08 GMT]]></title><description><![CDATA[<p>ClasDesigner schrieb:</p>
<blockquote>
<p>öfters</p>
</blockquote>
<p>Was heißt öfters? 10 Mal? 1000 Mal? 1 Mio Mal?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186479</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186479</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 28 Feb 2012 08:41:08 GMT</pubDate></item><item><title><![CDATA[Reply to Design Frage on Tue, 28 Feb 2012 08:51:40 GMT]]></title><description><![CDATA[<p>cooky451:<br />
Aber spricht das nicht für Variante 1 und nicht 2?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186481</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186481</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Tue, 28 Feb 2012 08:51:40 GMT</pubDate></item><item><title><![CDATA[Reply to Design Frage on Tue, 28 Feb 2012 12:32:58 GMT]]></title><description><![CDATA[<p>Eisflamme schrieb:</p>
<blockquote>
<p>Aber spricht das nicht für Variante 1 und nicht 2?</p>
</blockquote>
<p>Ja, lol. Sorry. ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2186564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2186564</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 28 Feb 2012 12:32:58 GMT</pubDate></item></channel></rss>