2016-11-26 28 views
0

我的朋友向我展示了这一点,我不知道它是如何工作的以及它的名称。有人能向我解释它是如何循环的吗?例如:C++中的(;;)循环是什么?

for(;;){ 
    cout << "loop" << endl; 
} 

它只会持续循环字符串。这种循环可以用于任何事情。这个怎么用?

+3

好吧,你知道它会永久循环,所以我不确定你的意思是“这个工作如何”。你能详细说明吗? – Borgleader

+2

呃...你是什么意思?“这是如何工作的?”。它永远循环,你自己说。 – AnT

+0

没有任何机制来终止它被认为是[无限(永远)循环](https://en.wikipedia.org/wiki/Infinite_loop)。 – user2864740

回答

9

根据语言规范,for迭代法中的空条件相当于true条件。

6.5.3 for语句

for语句

为(对于-INIT-语句条件选择;表达选择)语句

相当于

{ 
    for-init-statement 
    while (condition) { 
    statement 
    expression ; 
    } 
} 

...

任一个或两者的条件和表达可被省略。缺少的条件使隐含的while子句等于while(true)

因此,循环永远循环。这里的所有都是它的。

0

它循环无限,因为没有初始化,条件和增量值在循环的参数中传递。一个典型的for循环需要的参数如下:(<初始化>; <条件>; <增量>)

0

这篇文章解释了它相当不错在我看来。由SPEX一看便知: Why can the condition of a for-loop be left empty?

随着for循环是for(clause; expression-2; expression-3){},当留出它替换为非零常数结构。这是确定是否应该保持循环的循环部分。当一个非零常数评估为真时,它变成一个无限循环。

0

,对于循环实际上是说以下三件事(每个由分号分隔的for循环“头?”):

  1. 请勿初始化任何东西。
  2. 不要打破循环。
  3. 对每个循环迭代都不做任何事情。

Wikipediafor循环页面实际上有一段关于此。

0

正如很多人指出的,它相当于while (1)

什么时候有用?无论你需要一个无限循环,如:

  1. 游戏循环 - 将有点有用的游戏,无限循环,直到用户决定退出游戏。
  2. OS调度器 - 调度器需要无限循环,调度程序根据某种算法,直到OS停止
  3. 的intepreter - 如果你在Python过编程,你可能会遇到它可以让你输入一些命令解释器然后执行它。这是使用一个类似的无限循环

在所有这些实施例也实现,导致使用无限循环的共同因素是,终止条件是未知的或终止条件是复杂的(游戏环例如)