比雅尼·斯特劳斯特鲁普(c + + create)曾经说过,他避免使用“ do/while”循环,而是更喜欢使用“ while”循环来编写代码。[见下面的引文。]
自从听到这个,我发现这是真的。你有什么想法?有没有一个例子,“ do/while”比使用“ while”更简洁、更容易理解?
对于一些回答: 是的,我理解“ do/while”和“ while”之间的技术差异。这是一个涉及循环的可读性和结构化代码的更深层次的问题。
让我问另一个问题: 假设您被禁止使用“ do/while”——是否有一个现实的例子,让您别无选择,只能使用“ while”编写不干净的代码?
来自“ C++程式语言”,6.3.3:
根据我的经验,do 陈述是错误和混乱的根源。原因是它的主体总是在评估条件之前执行一次。然而,为了让身体正常工作,一些非常类似的情况必须保持,即使是第一次通过。比我想象的更常见的情况是,我发现这个条件在程序首次编写和测试时,或者在程序前面的代码被修改之后,都不能按预期的那样保持。比昂
避免 do/while 循环是 C + + 核心指南中作为 ES.75,避免做陈述包含的一个建议。