C++ for循环的缺点
for-loop的实际缺点是什么?不,我是说真的。一定有什么是对的。有while和do-while循环,两者都有效,但我们有for循环。由于while和do-while的开发,for循环肯定有一些缺点,对吧?没有任何缺点。我认为Go语言废除了while(),它只使用for()。不,C++ for循环的缺点,c++,for-loop,C++,For Loop,for-loop的实际缺点是什么?不,我是说真的。一定有什么是对的。有while和do-while循环,两者都有效,但我们有for循环。由于while和do-while的开发,for循环肯定有一些缺点,对吧?没有任何缺点。我认为Go语言废除了while(),它只使用for()。不,while循环是创建循环的基本结构,基于条件GoTo或汇编跳转(如果愿意的话)。但是,由于一直在编写以下代码来遍历数组: int i = 0; while (i < N) { //do something
while
循环是创建循环的基本结构,基于条件GoTo或汇编跳转(如果愿意的话)。但是,由于一直在编写以下代码来遍历数组:
int i = 0;
while (i < N)
{
//do something, probably access an array
i++;
}
inti=0;
而(i
他们创造了一种更干净、可读性更强的方法:
for(int i = 0; i < N; i++)
{
//do something
}
for(int i=0;i
这是一个所谓的例子
因为这类事情的存在并没有内在的原因,艾伦·佩利斯(Alan Perlis)的一句名言是“句法上的糖会导致分号的癌症”
也就是说,你必须一直努力寻找更可读的代码,所以去做吧。缺点可能是只有
for
循环“,而(cond){/*do something*/}
”是无效的代码…:-) 即使while(cond){…}和for(;cond;){…}是等价的。然而,在没有计数器和增量表达式的情况下以这种方式编写for循环是很奇怪的。为了使代码更容易阅读,应该使用原始和自然格式的for循环。i、 例如,for(计数器;cond;expr)。如果可以根据特定表达式的求值来迭代循环体,那么应该使用while循环。没有缺点,如果一个循环比另一个更好地显示您的意图,那么就使用它。所有循环构造都是完全等效的。您还不如询问while循环的缺点!我的工具箱里有很多相似但略有不同的螺丝刀。“我总是为手头的工作选择最合适的人选。”帕迪:我同意,你必须总是机智灵活。如果您查看工具箱,发现只有一把螺丝刀可以拧紧它们,那么您可能需要扩展工具集合。此外,还有一种简单的方法可以在while循环和do while循环之间进行转换,从而使所有3个循环构造完全等效do{}while(cond)代码>完全等于<代码> {}(COND){} /COD>。< <代码> > 循环也在FORTRAN中,它早于C++,C.this将是我朋友的一个好的耳光。谢谢。事实上,你可以用for循环。“while(cond){/*dosomething*/}”相当于“for(;cond;){/*dosomething*/}”。试试看。