<?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 von Variablen außerhalb der geschweiften Klammern]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>was ändert es eigentlich, wenn man Variablen außerhalb bzw. innerhalb<br />
der geschweiften Klammern deklariert? Ändert das überhaupt was und wenn<br />
ja was hat das für genaue Konsequenzen? Bin noch neu im Programmieren und<br />
durch googlen konnte ich leider nichts herausfinden.</p>
<p>lg</p>
<p>xLogiaa</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/335658/deklaration-von-variablen-außerhalb-der-geschweiften-klammern</link><generator>RSS for Node</generator><lastBuildDate>Mon, 20 Apr 2026 08:39:39 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/335658.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 02 Dec 2015 21:27:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Deklaration von Variablen außerhalb der geschweiften Klammern on Wed, 02 Dec 2015 21:27:12 GMT]]></title><description><![CDATA[<p>Hey Leute,</p>
<p>was ändert es eigentlich, wenn man Variablen außerhalb bzw. innerhalb<br />
der geschweiften Klammern deklariert? Ändert das überhaupt was und wenn<br />
ja was hat das für genaue Konsequenzen? Bin noch neu im Programmieren und<br />
durch googlen konnte ich leider nichts herausfinden.</p>
<p>lg</p>
<p>xLogiaa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2477960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2477960</guid><dc:creator><![CDATA[xLogiaa]]></dc:creator><pubDate>Wed, 02 Dec 2015 21:27:12 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Variablen außerhalb der geschweiften Klammern on Wed, 02 Dec 2015 22:07:01 GMT]]></title><description><![CDATA[<p>Variablen sind nur innerhalb der geschweiften Klammerungsebene gültig, in der sie deklariert wurden<sup>*</sup>. Es ist eine sehr gute Faustregel, dass man den Gültigkeitsbereich einer Variable so klein wie möglich halten sollte, denn das macht eine eventuelle Fehlersuche einfacher und vor allem vermeidet es von Vornherein viele mögliche Fehler. Manchmal lohnt es sich sogar, mitten im Code einen neuen Block geschweifter Klammern auf zu machen, bloß um darin ganz lokal ein paar neue Variablen zu definieren.</p>
<p>Nach obiger Faustregel folgt auch, dass globale Variablen, das heißt Variablen, die außerhalb aller Klammern stehen, ganz schlimm sind. Deren Gültigkeitsbereich ist das gesamte Programm. Da hat man ganz schnell überhaupt keinen Überblick mehr, was wo passiert. Falls das nicht als guter Grund reicht, globale Variablen zu vermeiden, so ist dies auch technisch ungünstig, da der Compiler ebenfalls den Überblick verliert, was mit diesen passieren kann und es ihm daher sehr schwer gemacht wird, Optimierungen an diesen Variablen vorzunehmen.</p>
<p><sup>*</sup>: Kleine &quot;Ausnahme&quot;: Bei so etwas wie einer for-Schleife ist eine Variable aus dem Schleifenkopf nur innerhalb des Schleifenkörpers gültig, obwohl die Deklaration technisch gesehen außerhalb der Klammern steht:</p>
<pre><code>void foo()
{
  // i nicht gültig
  for (int i = 0; i &lt; 2; ++i)
  {
    // i gültig
  }
  // i nicht gültig
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2477966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2477966</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 02 Dec 2015 22:07:01 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Variablen außerhalb der geschweiften Klammern on Wed, 02 Dec 2015 22:16:44 GMT]]></title><description><![CDATA[<p>Alles klar, danke für die Antwort <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/2477967</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2477967</guid><dc:creator><![CDATA[xLogiaa]]></dc:creator><pubDate>Wed, 02 Dec 2015 22:16:44 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Variablen außerhalb der geschweiften Klammern on Wed, 02 Dec 2015 22:20:37 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p><sup>*</sup>: Kleine &quot;Ausnahme&quot;: Bei so etwas wie einer for-Schleife ist eine Variable aus dem Schleifenkopf <strong>nur innerhalb des Schleifenkörpers</strong> gültig, obwohl die Deklaration technisch gesehen außerhalb der Klammern steht:</p>
</blockquote>
<p>Nicht &quot;nur innerhalb des Schleifenkörpers&quot; sondern auch innerhalb des Schleifenkopfs.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2477968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2477968</guid><dc:creator><![CDATA[technically wrong]]></dc:creator><pubDate>Wed, 02 Dec 2015 22:20:37 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Variablen außerhalb der geschweiften Klammern on Wed, 02 Dec 2015 22:29:35 GMT]]></title><description><![CDATA[<p>technically wrong schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p><sup>*</sup>: Kleine &quot;Ausnahme&quot;: Bei so etwas wie einer for-Schleife ist eine Variable aus dem Schleifenkopf <strong>nur innerhalb des Schleifenkörpers</strong> gültig, obwohl die Deklaration technisch gesehen außerhalb der Klammern steht:</p>
</blockquote>
<p>Nicht &quot;nur innerhalb des Schleifenkörpers&quot; sondern auch innerhalb des Schleifenkopfs.</p>
</blockquote>
<p>Also ich zähle meinen Kopf als Teil meines Körpers. <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/2477972</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2477972</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 02 Dec 2015 22:29:35 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Variablen außerhalb der geschweiften Klammern on Wed, 02 Dec 2015 22:34:06 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>technically wrong schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p><sup>*</sup>: Kleine &quot;Ausnahme&quot;: Bei so etwas wie einer for-Schleife ist eine Variable aus dem Schleifenkopf <strong>nur innerhalb des Schleifenkörpers</strong> gültig, obwohl die Deklaration technisch gesehen außerhalb der Klammern steht:</p>
</blockquote>
<p>Nicht &quot;nur innerhalb des Schleifenkörpers&quot; sondern auch innerhalb des Schleifenkopfs.</p>
</blockquote>
<p>Also ich zähle meinen Kopf als Teil meines Körpers. <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>
</blockquote>
<p>Der Standard nicht (Namespace body, function body). Leider definiert er nicht, was ein Schleifenkörkper ist. Für Wikipedia und alle anderen Quellen, die ich finden konnte, ist der Schleifenkopf nicht im Körper miteinbezogen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2477973</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2477973</guid><dc:creator><![CDATA[technically wrong]]></dc:creator><pubDate>Wed, 02 Dec 2015 22:34:06 GMT</pubDate></item><item><title><![CDATA[Reply to Deklaration von Variablen außerhalb der geschweiften Klammern on Wed, 02 Dec 2015 23:34:58 GMT]]></title><description><![CDATA[<p>Du hast ja Recht, meine Bemerkung war nicht so ganz ernst gemeint.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2477979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2477979</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 02 Dec 2015 23:34:58 GMT</pubDate></item></channel></rss>