ES.75: 避免使用do语句
Readability, avoidance of errors. The termination condition is at the end (where it can be overlooked) and the condition is not checked the first time through.
可读性,避免错误。中止条件位于循环的最后(可能被忽视的位置),并且第一次进入循环时不会检查循环条件
Example(示例)
int x;
do {
cin >> x;
// ...
} while (x < 0);
Yes, there are genuine examples where a do-statement is a clear statement of a solution, but also many bugs.
确实存在使用do语句的清晰易懂的例子,但同时也存在很多错误。
Enforcement(实施建议)
Flag do-statements.
标记使用do语句的代码。
原文链接
https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es75-avoid-do-statements