for循环的缺点

时间:2014-02-19 01:52:20

标签: c++ for-loop

for循环的实际缺点是什么?不,我的意思是认真的。必须有一些正确的事情。有while和while while循环,都有效,但我们有一个for循环。在for循环中必然会有一些缺点,因为while和while会被开发出来,对吗?

4 个答案:

答案 0 :(得分:3)

不,while循环是制作循环的基本结构,如果你愿意的话,基于条件的getos或汇编跳转。但是,因为以下代码一直在编写数组:

int i = 0;
while (i < N)
{
    //do something, probably access an array
    i++;
}

他们创建了一种更清晰,更易读的方法:

for(int i = 0; i < N; i++)
{
    //do something
}

这是所谓Syntactic sugar的一个例子。

因为没有固有这些事情存在的原因,Alan Perlis的名言是“语法糖导致分号的癌症”。

话虽如此,你总是要努力争取更易读的代码,所以去吧。

答案 1 :(得分:2)

根本没有任何不利之处。我认为Go语言取消了while(),它只用于()。

答案 2 :(得分:0)

尽管while(cond){...}和for(; cond;){...}是等价的。但是,在没有计数器和增量表达式的情况下以这种方式编写for循环是很奇怪的。为了使代码更容易阅读,您应该使用原始和自然格式的for循环。即,(counter; cond; expr)。如果你可以根据特定表达式的评估迭代你的循环体,那么你应该坚持使用while循环。

答案 3 :(得分:-1)

缺点可能是,只有for循环“while(cond) { /* do something*/ }”是无效代码......: - )