【发布时间】:2010-11-25 15:22:42
【问题描述】:
看起来像
while( condition ) {
//do stuff
}
完全等价于
for( ; condition; ) {
//do stuff
}
有什么理由使用后者而不是前者?
【问题讨论】:
-
两个示例代码都是正确的并且做同样的事情。但是没有理由使用第二个语句。当有正确的语法可用时,为什么要使用第二个。那么使用第二个语句的唯一原因是要了解不同类型的代码,我认为它应该只用于教育目的。
-
我在一个项目中看到了后者,想知道它可能出现的原因。
-
人们对风格的看法不同,而且常常是截然不同的,而且常常以我意想不到的方式。出于某种当时似乎有道理的原因,有人可能想对所有循环的 for 语句进行标准化。没有功能上的区别。
-
我能想到的唯一原因是代码会随着时间而变化。也许循环开始时是一个普通的 for 循环,然后被更改了几次,删除了第一部分和最后一部分。而做它的程序员只是没想到把它改成一个while循环。
-
@David:看来意见的热度与问题的重要性成反比。
标签: c++ loops for-loop while-loop