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)?
TRUEa à voir avec C? La macro standard pour le résultat boolen vrai dans C99 est toujours true. D'où TRUEvient le?
#define while(TRUE)déclarer une macro qui prend un argument appelé TRUEqui n'est jamais utilisé, transformant donc chaque boucle while de votre programme en une boucle infinie?
TRUEprovient 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???