Предупреждение компилятора здесь, чтобы помочь обнаружить потенциальные ошибки. Использование условия true
в цикле while
, вероятно, является ошибкой. Например, в следующем коде это, вероятно, ошибка, и я хотел бы, чтобы компилятор предупредил меня об этом:
unsigned int x;
// ...
while (x >= 0) {
// ...
}
В такой ситуации в оптимизированной сборке компилятор, вероятно, определит, что условие всегда истинно (поскольку целое число без знака не может быть меньше 0). Таким образом, существует необходимость обнаружения условия true
в цикле while
. Я думаю, что тот, кто писал об обнаружении такой ошибки, не имел особого случая while (true)
, так как существует простой способ сделать бесконечный цикл с for (;;)
.
Вы можете прочитать здесь , как принимается решение добавить предупреждение или нет в Visual Studio (пример около C#
, но я полагаю, что у команды такое же правило для предупреждение в C++
).