<?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[Deklaration und Definition von Variablen &amp;quot;vor Ort&amp;quot;]]></title><description><![CDATA[<p>Hallo,</p>
<p>in C++ kann (oder soll) man die Variablen erst anlegen wenn sie gebraucht werden. Wenn ich die Variable aber nun in einer Schleife brauche, z.B.:</p>
<pre><code class="language-cpp">x = 0;
do
 {
 ...
 int Var;
 Var = XY;
 ...
 } while( x &lt; 100 );
</code></pre>
<p>Ist das in C++ so i.O., oder definiere ich die Variable im ausführbaren Programm dann auch 100 mal ?</p>
<p>Danke und Gruß</p>
<p>WoWe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/161105/deklaration-und-definition-von-variablen-quot-vor-ort-quot</link><generator>RSS for Node</generator><lastBuildDate>Fri, 11 Sep 2026 17:25:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/161105.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 03 Oct 2006 13:27:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Deklaration und Definition von Variablen &amp;quot;vor Ort&amp;quot; on Tue, 03 Oct 2006 13:27:13 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>in C++ kann (oder soll) man die Variablen erst anlegen wenn sie gebraucht werden. Wenn ich die Variable aber nun in einer Schleife brauche, z.B.:</p>
<pre><code class="language-cpp">x = 0;
do
 {
 ...
 int Var;
 Var = XY;
 ...
 } while( x &lt; 100 );
</code></pre>
<p>Ist das in C++ so i.O., oder definiere ich die Variable im ausführbaren Programm dann auch 100 mal ?</p>
<p>Danke und Gruß</p>
<p>WoWe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148656</guid><dc:creator><![CDATA[WoWe]]></dc:creator><pubDate>Tue, 03 Oct 2006 13:27:13 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration und Definition von Variablen &amp;quot;vor Ort&amp;quot; on Tue, 03 Oct 2006 13:29:04 GMT]]></title><description><![CDATA[<p>Var würde trotzdem nur einmal im Schleifendurchlauf existieren. Weil Var am Ende der Schleife (dem Gültigkeitsbereich der Schleife) zerstört werden würde (besser gesagt vom Stack fliegt). Am Anfang der Schleife wird sie auf dem Stack neu angelegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148659</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 03 Oct 2006 13:29:04 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration und Definition von Variablen &amp;quot;vor Ort&amp;quot; on Tue, 03 Oct 2006 13:55:18 GMT]]></title><description><![CDATA[<p>Hallo Artchi,</p>
<p>vielleicht hab ich mich da falsch ausgedrückt. Das die Variable nicht 100 mal auf dem Stack angelegt wird ist mir schon klar, aber wird evtl. (bei großen Schleifen) das ausführbare Programm dadurch langsamer, im Gegensatz dazu wenn die Variable ausserhalb der Schleife angelegt wird, oder anderst gesagt, wird durch das 100malige (int Var;) im ausführbaren Programm redundanter Code erzeugt ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148677</guid><dc:creator><![CDATA[WoWe]]></dc:creator><pubDate>Tue, 03 Oct 2006 13:55:18 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration und Definition von Variablen &amp;quot;vor Ort&amp;quot; on Tue, 03 Oct 2006 14:00:58 GMT]]></title><description><![CDATA[<p>Artchi schrieb:</p>
<blockquote>
<p>Var würde trotzdem nur einmal im Schleifendurchlauf existieren. Weil Var am Ende der Schleife (dem Gültigkeitsbereich der Schleife) zerstört werden würde (besser gesagt vom Stack fliegt). Am Anfang der Schleife wird sie auf dem Stack neu angelegt.</p>
</blockquote>
<p>Wirklich? Ich dachte eigentlich, dass das gewissermaßen &quot;rausoptimiert&quot; wird, sodass die Variable nur ein einziges Mal auf dem Stapel angelegt wird und ledlich neu initialisiert wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148683</guid><dc:creator><![CDATA[Konrad Rudolph]]></dc:creator><pubDate>Tue, 03 Oct 2006 14:00:58 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration und Definition von Variablen &amp;quot;vor Ort&amp;quot; on Tue, 03 Oct 2006 14:36:27 GMT]]></title><description><![CDATA[<p>WoWe schrieb:</p>
<blockquote>
<p>aber wird evtl. (bei großen Schleifen) das ausführbare Programm dadurch langsamer, im Gegensatz dazu wenn die Variable ausserhalb der Schleife angelegt wird</p>
</blockquote>
<p>Ja, das ist durchaus möglich. Bei primitiven Typen, wie in deinem Fall, eher unwahrscheinlich, da der Compiler hier gur optimieren kann. Bei komplexeren Objekten sollte man aber in Betracht ziehen, diese ausserhalb der Schleife zu definieren, damit sie innerhalb der Schleife nicht immer wieder neu erzeugt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148693</guid><dc:creator><![CDATA[groovemaster]]></dc:creator><pubDate>Tue, 03 Oct 2006 14:36:27 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration und Definition von Variablen &amp;quot;vor Ort&amp;quot; on Tue, 03 Oct 2006 14:37:34 GMT]]></title><description><![CDATA[<p>variablen eigentlich immer so lokal wie möglich machen.<br />
seltene ausnahmen, wie std::string in einer leseschleife.</p>
<p>dem compiler fällt es viel leichter, im zuge der optimierung die variable doch heimlich vor der schleife anzulegen, statt eine variable mit langer lebensdauer zwischenduch wegzumachen. außerdem landen lokale variablen gerne in registern, was speed bringt. und fehler mit uninitialisierten variablen vermeidet man auch so.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148701</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148701</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Tue, 03 Oct 2006 14:37:34 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration und Definition von Variablen &amp;quot;vor Ort&amp;quot; on Tue, 03 Oct 2006 17:45:15 GMT]]></title><description><![CDATA[<p>Konrad Rudolph schrieb:</p>
<blockquote>
<p>Wirklich? Ich dachte eigentlich, dass das gewissermaßen &quot;rausoptimiert&quot; wird, sodass die Variable nur ein einziges Mal auf dem Stapel angelegt wird und ledlich neu initialisiert wird.</p>
</blockquote>
<p>Ja, das ist ja dann aber vom Compiler abhängig. Ich habe das erklärt, was ich da sehe. Wenn der Compiler das wegoptimiert (was heute hoffentlich normal ist) ist das eine andere Geschichte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1148800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1148800</guid><dc:creator><![CDATA[Artchi]]></dc:creator><pubDate>Tue, 03 Oct 2006 17:45:15 GMT</pubDate></item></channel></rss>