自从我开始学习编程以来,在我学习的每种语言中,始终存在while
循环和for
循环。
由于while
可以执行for
循环可以执行的所有操作。两者都具有相同的功能来迭代。那么添加for
循环的目的是什么?
使用它们有什么性能差异吗?为什么每种语言都有两个循环?
答案 0 :(得分:2)
我假设您在讨论C / C ++中使用的典型for
循环。
虽然for
循环总是可以重写为while
循环,但它具有很大的可读性优势:所有与循环相关的属性
可以在一行中捕获。如果你有一个while
循环的较长的主体,整个东西可能不适合你的屏幕大小,或者即使它适合你,你必须在视觉上解析代码,看看发生了什么。
从本质上讲,如果适用,for
循环可以更好地捕获代码的意图。
答案 1 :(得分:0)
唯一的区别在于代码可读性,在编译时for
循环在while
循环中转换,并具有先前的初始化和后续增量。
答案 2 :(得分:0)
for
循环。
while
循环...并且性能明智两者都相同
答案 3 :(得分:0)
因为这是使循环成为“循环”的条件,并且在这两种情况下条件都是由用户提供的(并且它不是循环结构转换为机器代码的一部分)我怀疑它们存在于不同的风格中文档工具比什么都重要。但是,for循环使您能够声明仅在循环期间存在的局部变量:
for (Iterator it = c.begin(); it != c.end(); ++it) {
} // it destroyed here
你可以不用所有的循环; goto是足够的