<?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[Switch-Anweisung und lokale Variable?]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>in meinem Lehrbuch steht folgender Abschnitt zur for-Schleife:</p>
<p>Ulrich Breymann, 'Der C++ Programmierer', Seite 75 schrieb:</p>
<blockquote>
<p>(...) Die Laufvariable i kann auch außerhalb der runden Klammern deklariert werden (...). Der Unterschied besteht darin, dass außerhalb der Klammern deklarierte Laufvariablen noch über die Schleife hinaus gültig sind. (...) Im Fall der Deklaration innerhalb der runden Klammern bleibt die Gültigkeit auf den Schleifenkörper beschränkt: (...) Derselbe Mechanismus gilt für Deklarationen in den runden Klammern von if-, while- und switch-Anweisungen. (...)</p>
</blockquote>
<p>Jetzt fällt es mir bei einer while-Schleife noch relativ leicht, das nachzuvollziehen, weil sie ja nur eine Umformung einer for-Schleife ist. Bei einer if-Abfrage erschließt sich mir der Sinn schon deutlich weniger, und bei einer switch-Anweisung gar nicht mehr.</p>
<p>Wie sähe ein Beispiel aus, in dem in einer switch-Anweisung eine Variable in den runden Klammern deklariert wird und wozu wäre es gut?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/286355/switch-anweisung-und-lokale-variable</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 22:22:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286355.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 May 2011 13:56:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Switch-Anweisung und lokale Variable? on Sun, 08 May 2011 13:56:00 GMT]]></title><description><![CDATA[<p>Hallo Forum,</p>
<p>in meinem Lehrbuch steht folgender Abschnitt zur for-Schleife:</p>
<p>Ulrich Breymann, 'Der C++ Programmierer', Seite 75 schrieb:</p>
<blockquote>
<p>(...) Die Laufvariable i kann auch außerhalb der runden Klammern deklariert werden (...). Der Unterschied besteht darin, dass außerhalb der Klammern deklarierte Laufvariablen noch über die Schleife hinaus gültig sind. (...) Im Fall der Deklaration innerhalb der runden Klammern bleibt die Gültigkeit auf den Schleifenkörper beschränkt: (...) Derselbe Mechanismus gilt für Deklarationen in den runden Klammern von if-, while- und switch-Anweisungen. (...)</p>
</blockquote>
<p>Jetzt fällt es mir bei einer while-Schleife noch relativ leicht, das nachzuvollziehen, weil sie ja nur eine Umformung einer for-Schleife ist. Bei einer if-Abfrage erschließt sich mir der Sinn schon deutlich weniger, und bei einer switch-Anweisung gar nicht mehr.</p>
<p>Wie sähe ein Beispiel aus, in dem in einer switch-Anweisung eine Variable in den runden Klammern deklariert wird und wozu wäre es gut?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060446</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 08 May 2011 13:56:00 GMT</pubDate></item><item><title><![CDATA[Reply to Switch-Anweisung und lokale Variable? on Sun, 08 May 2011 14:15:41 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">//vermutlich Folge eines Designfehlers!
if(Baum* pBaum=dynamic_cast&lt;Baum*&gt;(pObj))
   baum-&gt;stirb();
</code></pre>
<pre><code class="language-cpp">//Verbrechen am guten Geschmack
switch(int input=hi*16+lo){
   case 10: newline();
   case 13: carriagereturn();
   default: print(input);
}
</code></pre>
<pre><code class="language-cpp">//Habe ich noch nie benutzt
while(int read=::read(foo,MAXBYTES))
   write(foo,read);
</code></pre>
<pre><code class="language-cpp">//Bugfix für MSVC6
#define for if(false);else for
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2060450</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060450</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sun, 08 May 2011 14:15:41 GMT</pubDate></item><item><title><![CDATA[Reply to Switch-Anweisung und lokale Variable? on Sun, 08 May 2011 14:13:36 GMT]]></title><description><![CDATA[<p>So weit bin ich natürlich noch lange nicht. Ganz knapp, in einfachen Worten, was macht das zweite Beispiel?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060452</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060452</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Sun, 08 May 2011 14:13:36 GMT</pubDate></item><item><title><![CDATA[Reply to Switch-Anweisung und lokale Variable? on Mon, 09 May 2011 09:22:37 GMT]]></title><description><![CDATA[<p>dennis.cpp schrieb:</p>
<blockquote>
<p>So weit bin ich natürlich noch lange nicht. Ganz knapp, in einfachen Worten, was macht das zweite Beispiel?</p>
</blockquote>
<p>Ist doch leicht:</p>
<p>Es berechnet aus den Variablen hi und lo einen neuen Wert input und in Abhängigkeit des Ergebnisses wird zum entsprechenden Ziel gesprungen.</p>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2060747</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2060747</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Mon, 09 May 2011 09:22:37 GMT</pubDate></item></channel></rss>