Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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: