Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/149.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ for循环的缺点_C++_For Loop - Fatal编程技术网

C++ 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

for-loop的实际缺点是什么?不,我是说真的。一定有什么是对的。有while和do-while循环,两者都有效,但我们有for循环。由于while和do-while的开发,for循环肯定有一些缺点,对吧?

没有任何缺点。我认为Go语言废除了while(),它只使用for()。

不,
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*/}”。试试看。