for (;;) {
//Something to be done repeatedly
}
J'ai beaucoup vu ce genre de chose utilisé, mais je pense que c'est plutôt étrange ... Ne serait-il pas beaucoup plus clair à dire while(true)
, ou quelque chose du genre ?
Je suppose que (comme c'est la raison pour laquelle beaucoup de programmeurs ont recours au code cryptique), c'est une petite marge plus rapide?
Pourquoi, et en vaut-il vraiment la peine? Si tel est le cas, pourquoi ne pas simplement le définir de cette façon:
#define while(true) for(;;)
Voir aussi: Quel est le plus rapide: while (1) ou while (2)?
TRUE
a à voir avec C? La macro standard pour le résultat boolen vrai dans C99 est toujours true
. D'où TRUE
vient le?
#define while(TRUE)
déclarer une macro qui prend un argument appelé TRUE
qui n'est jamais utilisé, transformant donc chaque boucle while de votre programme en une boucle infinie?
TRUE
provient des fichiers d'en-tête associés à l'API Windows. Il n'est en aucun cas lié à VS 6.0. Et, comme je l'ai déjà dit, cela n'a rien à voir avec C ou C ++. En C ++, le "vrai" littéral est juste true
(dans VS 6.0 également), en C89 / 90 il n'y a rien de tel du tout, et en C99 c'est macro true
. Cela s'applique à tous les compilateurs C / C ++.
TRUE
???