Что означает термин "пустой цикл" точно в C и С++?

Это такая вещь:

for(;;)
 {
   statements;
 }

Или это так:

for(initialisation;condition;updation)
{
}

Я ищу ответы со ссылками на различные источники.

Ответы

Ответ 1

Ваш первый случай (для пустых выражений) представляет собой цикл бесконечный, а второй (с пустым телом оператора for) представляет собой цикл пустой

Ответ 2

В моей среде это выглядит так:

for(;;) { statements; }

бесконечный цикл

for(initialisation;condition;updation) { } 

пустой цикл

Ответ 3

Ответ зависит от контекста.

Если вы имеете в виду пустой цикл для, то

 for(;;)
 {
     statements;
 }

- такая вещь.

Хотя, то же самое можно достичь с помощью цикла while:

while(true)
{
    statements;
}

и это не "пустой" цикл. Оба из них - бесконечные петли, которые вы должны вырваться из break внутри вашего цикла.

С другой стороны,

for(initialisation;condition;updation)
{
}

это "пустой" цикл, который практически ничего не делает, за исключением, возможно, обновления некоторых переменных, которые могут быть определены до самого цикла.

Ответ 4

Он равен этому:

while (true) {
  statements;
}

Infinite for loop - это цикл, который работает до тех пор, пока что-то не остановит его.

Ответ 5

Пустой цикл представляет собой цикл, который имеет пустое тело, например

for(int i = 0; i < 10; ++i) {}
while(cin) {}

(обратите внимание, что второй пример здесь также бесконечен)

Есть случаи, когда они полезны, например, когда функция имеет желаемый побочный эффект и возвращает ее успех, и должна повторяться до тех пор, пока она не будет успешной, например, чтобы прочитать последнюю строку в файле:

std::string getLastLine(std::string filename)
{
  std::ifstream in(filename.c_str());
  if(!in)
    return "";

  std::string line;
  while(std::getline(in, line)); // empty loop, the operation returns the condition
  return line;
}

Ответ 6

for(;;)
 {
   statements;
 }

- это бесконечный цикл, потому что есть избыточное значение/значение Grabage, которое делает цикл истинным

for(initialisation;condition;updation)
 {
   body;
 }

это просто синтаксис для цикла for (для образовательных целей)