Snaha o lepsiu nahradu za goto, was: goto considered harmful; was: ceckovy kviz 2 (hardcore)
Jan Waclawek
konfera na efton.sk
Pátek Září 8 14:10:54 CEST 2023
Jedna zo situacii ked goto pouzivam je vtedy, ak v switch/case je niekolko
pripadov, ktore maju aj separatnu aj spolocnu cast; a niekolko dalsich,
ktore su uplne odlisne (to je castokrat nasledok spracovania prijatych
sprav od nejakeho ineho geretu, kazdu spravu treba nejako separatne
spracovat a potom treba odpovedat, a mnohe ale nie vsetky odpovede su
rovnake, trebars "pocul som").
Tak som pod dojmom predchadzajucej diskusie zauvazoval, ci nezacnem
pouzivat toto:
volatile unsigned char a, b;
int main(void) {
switch(a) {
do { // only to be able to break into a common epilogue
case 0:
a = 5;
break;
case 1:
a = 7;
break;
} while(0); // common epilogue for cases 0 and 1
b = 12;
break;
// now the separate cases
case 2:
a = 10;
b = 4;
break;
default:
a = 1;
b = 23;
break;
}
}
wek
Další informace o konferenci Hw-list