自从听到这个观点以来,我发现这是真的。您有什么想法?是否有一个例子,其中“do/while”比使用“while”更清晰易懂?
针对一些答案的回应:是的,我了解“do/while”和“while”之间的技术差异。这是关于可读性和循环结构代码的更深层次的问题。
让我换一种方式问:假设您被禁止使用“do/while”,是否有一个现实的例子,这将使您别无选择,只能使用“while”编写不干净的代码?
来自《C++程序设计语言》6.3.3:
在我的经验中,do-语句是错误和混乱的源头。原因是它的主体总是在条件被评估之前执行一次。但是,为了使主体正常工作,即使第一次通过时,也必须像条件一样保持某种程度的正确性。我发现,在程序首次编写和测试或之后修改其前面的代码后,该条件通常不会按预期保持。我还更喜欢将条件“放在我能看到的地方”。因此,我倾向于避免使用 do-语句。——Bjarne 避免使用do/while循环是C++核心准则中的一项建议,即ES.75,避免使用do语句。