for (;;) {
//Something to be done repeatedly
}
Já vi esse tipo de coisa ser muito usada, mas acho que é bastante estranho ... Não seria muito mais claro dizer while(true)
algo assim?
Estou supondo que (como é o motivo de muitos programadores recorrerem a códigos enigmáticos) essa é uma margem minúscula mais rápida?
Por que e realmente vale a pena? Se sim, por que não apenas defini-lo desta maneira:
#define while(true) for(;;)
Veja também: O que é mais rápido: while (1) ou while (2)?
TRUE
tem a ver com C? A macro padrão para o verdadeiro resultado de boolen em C99 ainda é true
. De onde TRUE
veio isso?
#define while(TRUE)
declarar uma macro que usa um argumento chamado TRUE
que nunca é usado, portanto, transformando cada loop while do seu programa em um loop infinito?
TRUE
vem dos arquivos de cabeçalho associados à API do Windows. Não está relacionado ao VS 6.0 de forma alguma. E, como eu disse antes, não tem nada a ver com C ou C ++. No C ++, o literal "true" é justo true
(no VS 6.0 também), no C89 / 90 não existe tal coisa e no C99 é macro true
. Isso se aplica a todos os compiladores C / C ++.
TRUE
???