[elektro] Buta C kérdés switch/case

Móczik Gábor pm_levlista at progzmaster.hu
Sat Nov 12 14:44:45 CET 2011


2011.11.12. 8:00 keltezéssel, Lajos Rancz írta:
> befolyásolni, hogy mi történik. Ez a default-os ötlet nem rossz, azt
> nézted, hogy mire fordul ugrótáblára vagy if-es szerkezetre?

Nem, de ha nem time-critical akkor nem is érdekel, inkább legyen 
áttekinthető, ha meg az, akkor igen erősen átgondolom mi fut majd le, 
esetleg megírom asm-ben.

> Valakik, annyira ragaszkodnak a switch-case szerkezethez, hogy már láttam
> ilyet:
> #define SWITCH if (false)
> #define CASE(cond) else if (cond)
> #define DEFAULT else
>
> És akkor:
> string s;
> SWITCH
> CASE (s == "Dolog1") { .... }
> CASE (s == "Dolog2") { .... }
> DEFAULT { ... }

Adott esetben ez talán nem is túlzás...

#define RANGE(x,lim_l,lim_h) else if (x>=lim_l && x<=lim_h)

RANGE(i,5,10)
..

Csináltam már hasonlót, ahol egy paraméteres ugrótáblázat szerűséget 
kellett létrehozni, de nem tömbbel és pointerekkel, hanem helyben 
kiértékelve, fixen bedrótozott címekkel. Ebben több lett volna a körítés 
mint maga a lényeg, ott dobtam be egy ilyet, hogy egy makróban benne 
volt minden, csak le kellett írni sokat egymás alá.



More information about the Elektro mailing list