for (;;) {
//Something to be done repeatedly
}
Ho visto questo genere di cose usate molto, ma penso che sia piuttosto strano ... Non sarebbe molto più chiaro da dire while(true)
, o qualcosa del genere?
Immagino che (com'è la ragione per cui molti programmatori ricorrono al codice criptico) questo è un piccolo margine più veloce?
Perché e ne vale davvero la pena? In tal caso, perché non definirlo in questo modo:
#define while(true) for(;;)
Vedi anche: Quale è più veloce: while (1) o while (2)?
TRUE
c'entra con C? La macro standard per il vero risultato boolen in C99 è ancora true
. Da dove TRUE
viene?
#define while(TRUE)
Quella macro non è per dichiarare una macro che prende un argomento chiamato TRUE
che non viene mai usata, trasformando quindi ogni singolo ciclo while del programma in un ciclo infinito?
TRUE
proviene da file di intestazione associati all'API di Windows. Non è in alcun modo correlato a VS 6.0. E, come ho detto prima, non ha nulla a che fare con C o C ++. In C ++ il letterale "vero" è giusto true
(anche in VS 6.0), in C89 / 90 non esiste nulla del genere e in C99 è macro true
. Questo vale per tutti i compilatori C / C ++.
TRUE
???