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