Sto utilizzando PC Lint per la prima volta. Stavo "linting" il mio codice, quando PC Lint mi avvisa del mio while(TRUE)
.PC Lint while (TRUE) vs for (;;)
Questo è quello che dice:
716: while (1) ... - Un costrutto della forma, mentre (1) ... è stato trovato.
Mentre questo rappresenta una costante in un contesto che si aspetta un booleano, può riflettere un criterio di programmazione per cui i cicli infiniti sono preceduti da questo costrutto. Quindi viene assegnato un numero separato e è stato inserito nella categoria informativa. La forma più convenzionale di prefisso ciclo infinito è per (;;).
Non ho capito questa affermazione. Qualcuno può aiutarmi a capirlo?
'while (TRUE)' potrebbe non essere un loop infinito se qualcuno imposta 'TRUE' su '0' mentre non c'è modo che ciò accada con' for (;;) '. –
@Dan D., certo che c'è - stiamo parlando del preprocessore dopotutto. Che dire di '#define per (;;) if (0)'? ;-) –
So di cosa sta parlando, ma questa è una strana spiegazione che ho da dire. –