在C++中,你可以在for循环的条件表达式中使用一个空条件,例如
当for循环中省略了条件表达式时,该条件被假定为
for (;;)
或for (int x = 0;; ++x)
。但是你不能这样做:while ()
。当for循环中省略了条件表达式时,该条件被假定为
true
(因此循环将永远执行)。那么为什么while循环不是这种情况呢?为什么不允许while ()
作为while (true)
的别名呢?
while()
可能存在一些语法原因,但从理论上讲,如果他们真的想要的话,那是可以修复的。 - Zac Howland#define while(c) for(;c;)
这样"修复"它 ;) (开个玩笑,甚至不能正常工作) - leemes