Re: CASE Konstrukt in CC2? Kategorie: Programmierung (von DWS - 2.01.2004 0:10) | |
Als Antwort auf CASE Konstrukt in CC2? von Alois - 1.01.2004 19:17
| |
> Hallo, > > weiss eigentlich jemand, ob es geplant ist, die CC2 Sprachen zu erweitern? Besonders das CASE-Konstrukt fehlt > mir. > Gerade das Case Konsrtukt eignet sich sehr gut, um eine einfache State-Event Maschine aufzubauen. Diese wiederum > sind in de Automatisierung natuerlich sehr nuetzlich. > > Zur Not(aber wirklich nur zur Not) ginge auch ein goto. > Anstelle von goto's - die sind ja nun wirklich nicht das Gelbe vom Ei, falls man an strukturierte Programmierung denkt - empfehle ich eher Kaskaden der folgenden Art: if Bedingung1 { ... } else if Bedingung2 { ... } else if Bedingung3 { ... } ... else if Bedingung n { ... } ... else { ... } Das ist zwar auf den ersten Blick nicht so effizient wie eine Implementierung mit Sprungtabellen, hat aber den Vorteil, dass Bedingungen frei definiert werden können (in C der Ausdruck im switch mit konstanten Case-Labels verglichen werden), und au�erdem zeigt die Erfahrung des Compilerbaus, dass in den meisten Fällen wieder nur eine if - else if - ... else Kaskade daraus wird (natürlich erst im Binärcode, aber andernfalls würden die Sprungtabellen unnütz gro� mit ungemein vielen nicht verwendeten Einsprungsadressen). Viel Spa� mit C! Liebe Grü�e, Dietmar. | |
Antwort schreiben Antworten: |