switch-case Problematik
-
volkard schrieb:
@cirion: Willkommen im Klub.
danke
Und laß Dich nicht ärgern.
ach, da bin ich schlimmeres gewohnt
ru,
cirion
-
Tomahawk schrieb:
Aber, um bei der Sache zu bleiben, eine umschachtelnde Infinite-Loop hätte schon einen kleinen Vorteil. Man müsste die Labeln nicht mehr sequentiell aufsteigend anordnen, schätze ich mal.
Du hattest doch mal arge Sorgen um die Performance. Üblicherweise hast Du im ASM- Output oben im Switch- Head die Entscheidung, welches Label (case) angesprungen wird. Ich weiß nicht, ob das Standard ist, aber nach drei Compilern scheint das so zu sein. Danach wird nichts mehr geprüft, nur beim break gehts an das switch- Ende, ansonsten wird der Code weiter stur durchgeackert.
Das kann man aktiv nutzen, um z.B. upper/lowercase- Anpassungen zu vermeiden oder einfach jeden case mit break abzuschließen.
-
volkard schrieb:
@cirion: Willkommen im Klub.
Und laß Dich nicht ärgern.cirion schrieb:
ach, da bin ich schlimmeres gewohnt
Was wollt ihr dann hier noch? Geht doch einfach heiraten (ist ja mittlerweile erlaubt).
-
Mann o mann, sag mal müßtest Du nicht schon Lange im Bett sein ? So wie Du dich hier gibst kannst ja nich wirklich älter als 5 sein.
1.) Es gibt kein continue in einem switch - case block. Und das ist eine Tatsache !
2.) Es wird in C auch keine geben, auch wenn Du es Dir noch so wünscht.
3.) Niemand hat Dich Persönlich angegriffen, aber Du must immer deinen Senf dazugeben, und andere beleidiegen, die berechtigt anderer Meinung sind als Du.
-
kopfschüttel schrieb:
3.) Niemand hat Dich Persönlich angegriffen,
Doch, das habe ich. Es hat sich Wort für Wort aufgeschaukelt.
Angefangen hat es glaube ich mit
"Du verwechselst Definition mit Logik und behauptest, weil es so definiert ist, ist es auch logisch. Das ist sophistische Selbstreferenz, aber kein Argument."=="Du kannst nicht logisch argumentieren."
über
"Tut mir leid, deiner Logik folge ich nicht."=="Du kannst auch nicht."
und
"Das ist nicht "meine Logik", sondern die allgemeine Logik"=="Doch, ich kann."
und
"Ich bin dankbar, daß Du keine "logische" Sprache entwirfst."=="Nein, du kannst nicht."
und dem wechsel auf die Meta-Ebene mit
"Es ist zum Kotzen mit Dir, immer bei Mangel an Argumenten wirst Du persönlich."
Tja, da kann ich wenig machen.Aber ich muß ja auch nicht immer was machen, wo ich doch stattdessen cirion heiraten darf.
-
muss dir leider mitteilen, dass das bis nach meiner scheidung warten muss
ru,
cirion
-
-
cirion schrieb:
muss dir leider mitteilen, dass das bis nach meiner scheidung warten muss
Mist. Ruf mich dann an oder mail an volkard@normannia.de, falls Du eine Frau bist.
-
volkard schrieb:
falls Du eine Frau bist.
ich fürchte, auch damit kann ich nicht dienen
ru,
cirion
-
Für alle, die gerne continue in switch-blöcken verwenden wollen
int i = 0; while(true) { switch(i++) { case 0: continue; case 1: continue; case 2: break; } break; }
Ist mir gerade beim Lesen des Threads eingefallen, finde das selbst aber ziemlich sinnfrei.
-
Jochen S. schrieb:
Ist mir gerade beim Lesen des Threads eingefallen, finde das selbst aber ziemlich sinnfrei.
Was heißt eingefallen, das ist quasi die Variante 2 des allerersten Posts.
Sinnfrei ist es auch nicht, was Du da vor Dir hast, ist das Skelett einer finite state machine (FSM).Daß Sprachdesigner hinterher oftmals mit ihren Entwürfen nicht ganz glücklich sind, kann man mehrfach nachlesen, ein "endcase" wie von volkard erwähnt, wäre wahrscheinlich die schönere Wahl gewesen. Aber was soll's, ist nun mal so ...
-
pointercrash() schrieb:
Was heißt eingefallen, das ist quasi die Variante 2 des allerersten Posts.
Stimmt, ich hab halt erst ab seite 2 oder 3 gelesen