for (;;) {
//Something to be done repeatedly
}
Я видел, как подобные вещи часто используются, но я думаю, что это довольно странно ... Разве не было бы намного яснее сказать while(true)
или что-то в этом роде?
Я предполагаю, что (как причина, по которой многие программисты прибегают к загадочному коду), это крошечный запас быстрее?
Почему и стоит ли это того? Если так, то почему бы просто не определить это так:
#define while(true) for(;;)
Смотрите также: Что быстрее: while (1) или while (2)?
TRUE
общего с C? Стандартный макрос для истинного результата boolen в C99 по-прежнему true
. Откуда TRUE
взялся?
#define while(TRUE)
объявления макроса, который принимает один вызываемый аргумент, TRUE
который никогда не используется, поэтому превращает каждый цикл while в вашей программе в бесконечный цикл?
TRUE
происходит из заголовочных файлов, связанных с Windows API. Это никак не связано с VS 6.0. И, как я уже говорил, это не имеет ничего общего ни с C, ни с C ++. В C ++ «истинный» литерал просто true
(в VS 6.0 тоже), в C89 / 90 такого вообще нет, а в C99 это макрос true
. Это относится ко всем компиляторам C / C ++.
TRUE
???