<?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[frage zu folgendem code]]></title><description><![CDATA[<pre><code class="language-cpp">while(1)
{
int i = 3;
}
</code></pre>
<p>ich sehe sowas oft! wird dabei nicht eigentlich die variable i öfters initailisiert? oder ist das gleiche wie i = 3? bitte um aufklärung!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/224108/frage-zu-folgendem-code</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 20:01:43 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/224108.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 05 Oct 2008 18:50:04 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to frage zu folgendem code on Sun, 05 Oct 2008 18:50:04 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">while(1)
{
int i = 3;
}
</code></pre>
<p>ich sehe sowas oft! wird dabei nicht eigentlich die variable i öfters initailisiert? oder ist das gleiche wie i = 3? bitte um aufklärung!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1593843</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1593843</guid><dc:creator><![CDATA[omg713]]></dc:creator><pubDate>Sun, 05 Oct 2008 18:50:04 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Sun, 05 Oct 2008 19:03:57 GMT]]></title><description><![CDATA[<p>Eine Variable kann nur genau einmal initialisiert werden <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="🙂"
    /> Die Variable wird eher bei jedem Schleifendurchlauf neu erschaffen (ihr Scope/Bereich endet am Ende des Schleifendurchlaufs) und halt mit 3 initialisiert. Mit nur <code>i=3;</code> wäre die Variable <code>i</code> ja unbekannt, es würde also einen Compiler-Fehler geben; außer die Variable ist in einem äußeren Scope bekannt, dann wird diese benutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1593845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1593845</guid><dc:creator><![CDATA[Badestrand]]></dc:creator><pubDate>Sun, 05 Oct 2008 19:03:57 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 05:55:21 GMT]]></title><description><![CDATA[<blockquote>
<p>oder ist das gleiche wie i = 3</p>
</blockquote>
<p>Wenn du dich jetzt fragst, ob du i besser (Performance) in einen äusseren Bereich schafst, dann lass da lieber die Finger davon. Variablen sollten immer so tief, wie möglich gehalten werden. Und was noch dazu kommt ist, dass es bei POD (siehe FAQ), keine Rolle spielt, ob du eine Zuweisung hast, oder eine Deklaration, da kein Konstruktor aufgerufen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1593969</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1593969</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Mon, 06 Oct 2008 05:55:21 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 06:44:55 GMT]]></title><description><![CDATA[<p>... und bei dem Beispiel i eh immer an der gleichen Stelle im Speicher liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1593989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1593989</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 06 Oct 2008 06:44:55 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 07:25:04 GMT]]></title><description><![CDATA[<p>Fellhuhn schrieb:</p>
<blockquote>
<p>... und bei dem Beispiel i eh immer an der gleichen Stelle im Speicher liegt.</p>
</blockquote>
<p>...was de facto so sein mag, vom Standard garantiert wird es allerdings nicht. Mal abgesehen davon <em>könnte</em> ein Compiler versuchen, die Anzahl der Sprünge zum loop-Anfang zu reduzieren indem er den loop-Code mehrfach hintereinander legt. Dann könnte es entsprechend auch das i mehrfach im Speicher geben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594010</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 06 Oct 2008 07:25:04 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 07:48:22 GMT]]></title><description><![CDATA[<p>Er könnte auch die ganze Schleife einfach wegoptimieren. <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/1594026</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594026</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Mon, 06 Oct 2008 07:48:22 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 13:41:20 GMT]]></title><description><![CDATA[<p>Die Schleife selbst eher nicht, aber die Variableninitialisierung schon.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594204</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Mon, 06 Oct 2008 13:41:20 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 13:55:29 GMT]]></title><description><![CDATA[<p>Hmmm sollte ein Compiler in der entsprechenden Optimisierungsstufe solche sinnlose Schleifen erkennen und eliminieren? Eine etwas philosophische Frage <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594222</guid><dc:creator><![CDATA[Azrael* il Meraz]]></dc:creator><pubDate>Mon, 06 Oct 2008 13:55:29 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 16:45:05 GMT]]></title><description><![CDATA[<p>Azrael, il Meraz schrieb:</p>
<blockquote>
<p>Hmmm sollte ein Compiler in der entsprechenden Optimisierungsstufe solche sinnlose Schleifen erkennen und eliminieren? Eine etwas philosophische Frage <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="😃"
    /></p>
</blockquote>
<p>Nein, da es eine Endlosschleife ist.<br />
Wenn es sich aber um eine Schleife mit einer klaren Abbruchbedingung handelt, und die Schleife tut garnix, dann sollte ein Compiler die möglichst komplett eliminieren. Was auch einige Compiler ganz gut hinbekommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594368</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594368</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 06 Oct 2008 16:45:05 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 16:51:41 GMT]]></title><description><![CDATA[<p>hm... ist der Aufruf von abort in der abstrakten Maschine beobachtbar? Das wäre evtl. eine Alternative.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594373</guid><dc:creator><![CDATA[camper]]></dc:creator><pubDate>Mon, 06 Oct 2008 16:51:41 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 16:54:14 GMT]]></title><description><![CDATA[<p>Ja - wenn der Nutzer die endlosschleife wirklich ausführen will, dann macht das natürlich keinen sinn, sie wegzuhauen. Ich denke aber (das ist nur meine Meinung <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="🙂"
    /> ), dass bei höheren Optimierungsstufen so etwas wie diese Schleife wegoptimiert werden sollte, da:</p>
<ol>
<li>Sie liest und schreibt keine Variablen außerhalb ihres Scopes</li>
<li>Sie macht keine function calls</li>
<li>Sie macht eigentlich ziemlich garnichts, außer eben runden im Prozessor zu drehen. <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="🙂"
    /></li>
</ol>
<p>Und warum sollte man eine Endlosschleife haben wollen, die absolut nichts macht? <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="🙂"
    /> Das einzige was ich mir vorstellen könnte ist sich aus Neugier die Disassembly anzuschauen aber das könnte man dann ich niedrigeren Optimierungsstufen machen. Naja man muss mit mir nicht einverstanden sein :D.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594378</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594378</guid><dc:creator><![CDATA[Azrael* il Meraz]]></dc:creator><pubDate>Mon, 06 Oct 2008 16:54:14 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 16:57:28 GMT]]></title><description><![CDATA[<p>Eine Endlosschleife macht sehr wohl etwas und zwar verhindert sie, dass der nachfolgende Code ausgeführt wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594379</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594379</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Mon, 06 Oct 2008 16:57:28 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 17:08:46 GMT]]></title><description><![CDATA[<p>Nanyuki schrieb:</p>
<blockquote>
<p>Eine Endlosschleife macht sehr wohl etwas und zwar verhindert sie, dass der nachfolgende Code ausgeführt wird.</p>
</blockquote>
<p>Gibts da nicht auch bessere Methoden? <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="🙂"
    /><br />
vllt auch eine Schleife. aber eine die nur dann endlos wird, wenn man den code danach wirklich nicht mehr ausführen will. Aber dann ist das keine fest einprogrammierte endlosschleife.</p>
<p>Ich mein - meine Einstellung ist vllt etwas schwachsinnig, schließlich sollte der vom Compiler erzeugte maschinencode auch das tun, was von ihm verlangt wird. Das sehe ich auch so.</p>
<p>Aber das mit einer fest einprogrammierten Endlosschleife lässt mich irgendwie nicht in ruh <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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594383</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594383</guid><dc:creator><![CDATA[Azrael* il Meraz]]></dc:creator><pubDate>Mon, 06 Oct 2008 17:08:46 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 17:31:17 GMT]]></title><description><![CDATA[<p>Ich hab auch schon Endlosschleifen zu Debugzwecken o.ä. genutzt... vielleicht weil for(;;); kürzer als Sleep mit Parameter war.<br />
Der Compiler darf das Verhalten des Programms durch Optimierungen nicht verändern. D.h. sowas wie for (int i=0;i&lt;1&lt;&lt;30;i++); könnte er mit dem Argument wegoptimieren, dass die Schleife sowieso irgendwann fertig geworden wäre. Er hat dem lediglich etwas auf die Sprünge geholfen. for(;;); wird dagegen nie fertig und blockiert die weitere Ausführung des Programms. Wenn er die wegoptimiert, dann ändert sich das Programmverhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594388</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594388</guid><dc:creator><![CDATA[Nanyuki]]></dc:creator><pubDate>Mon, 06 Oct 2008 17:31:17 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 17:42:26 GMT]]></title><description><![CDATA[<p>Nanyuki schrieb:</p>
<blockquote>
<p>sowas wie for (int i=0;i&lt;1&lt;&lt;30;i++);</p>
</blockquote>
<p>ich dachte, sowas wird schon von manchen compilern wegoptimiert. beispiel:</p>
<pre><code class="language-cpp">// test.cpp 
const int max = 1000000000;

int main()
{
  for(int i = 0; i &lt; max; ++i);
}
</code></pre>
<pre><code>:~/tmp$ g++ -O3 test.cpp ; time ./a.out; g++ -O2 test.cpp ; time ./a.out ; \
&gt; g++ -O1 test.cpp ; time ./a.out ; g++ -O0 test.cpp ; time ./a.out ; g++ test.cpp ; time ./a.out

real    0m0.002s
user    0m0.000s
sys     0m0.000s

real    0m0.002s
user    0m0.000s
sys     0m0.000s

real    0m0.002s
user    0m0.000s
sys     0m0.000s

real    0m4.423s
user    0m4.412s
sys     0m0.000s

real    0m4.441s
user    0m4.396s
sys     0m0.016s
</code></pre>
<p>d.h. ab -O1 haut er die schleife weg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594395</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594395</guid><dc:creator><![CDATA[..,-]]></dc:creator><pubDate>Mon, 06 Oct 2008 17:42:26 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 17:45:09 GMT]]></title><description><![CDATA[<p>labert net drumherum er hat gefragt was</p>
<pre><code class="language-cpp">while(1)
int i = 0;
</code></pre>
<p>macht, im grunde genommen tut es nicht viel da while auf 1 gesetzt wurde was heisst das er die whileschleife immer wieder macht bis er behindert wird und reserviert immer wieder speicher an der gleichen addresse womit der vorher reservierte speicher wieder ersetzt wird punkt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594397</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594397</guid><dc:creator><![CDATA[freaky]]></dc:creator><pubDate>Mon, 06 Oct 2008 17:45:09 GMT</pubDate></item><item><title><![CDATA[Reply to frage zu folgendem code on Mon, 06 Oct 2008 18:03:06 GMT]]></title><description><![CDATA[<p>FreakY&lt;3Cpp schrieb:</p>
<blockquote>
<p>im grunde genommen tut es nicht viel da while auf 1 gesetzt wurde</p>
</blockquote>
<p>Nicht ganz. While ist keine Variable, also kann man es nicht &quot;setzen&quot;.</p>
<p>FreakY&lt;3Cpp schrieb:</p>
<blockquote>
<p>was heisst das er die whileschleife immer wieder macht bis er behindert wird</p>
</blockquote>
<p>Auch hier hättest du dich sorgfältiger ausdrücken können.</p>
<p>FreakY&lt;3Cpp schrieb:</p>
<blockquote>
<p>und reserviert immer wieder speicher an der gleichen addresse</p>
</blockquote>
<p>Wieso bist du dir da so sicher?</p>
<p>FreakY&lt;3Cpp schrieb:</p>
<blockquote>
<p>womit der vorher reservierte speicher wieder ersetzt wird punkt</p>
</blockquote>
<p>Mit ersetzen hat das eigentlich gesagt nicht viel zu tun (Konstruktion und Destruktion wäre da schon eher was).</p>
<p>FreakY&lt;3Cpp schrieb:</p>
<blockquote>
<p>labert net drumherum</p>
</blockquote>
<p>Jaja... Lieber etwas &quot;labern&quot; als sich unverständlich und falsch ausdrücken. Ausserdem kann sich eine Diskussion weiterentwickeln.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1594404</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1594404</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Mon, 06 Oct 2008 18:03:06 GMT</pubDate></item></channel></rss>