专栏首页C++核心准则原文翻译C++核心准则ES.72:如果存在明显的循环变量,for语句要好于while语句

C++核心准则ES.72:如果存在明显的循环变量,for语句要好于while语句

ES.72: Prefer a for-statement to a while-statement when there is an obvious loop variable

ES.72:如果存在明显的循环变量,for语句要好于while语句

Reason(原因)

Readability: the complete logic of the loop is visible "up front". The scope of the loop variable can be limited.

可读性:循环的全部逻辑都放在前台可以直接看到。循环变量的作用域可以被限定在循环之内。

Example(示例)

for (gsl::index i = 0; i < vec.size(); i++) {
    // do work
}
Example, bad(反面示例)
int i = 0;
while (i < vec.size()) {
    // do work
    i++;
}
Enforcement(实施建议)

???

原文链接

https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md#es72-prefer-a-for-statement-to-a-while-statement-when-there-is-an-obvious-loop-variable

本文分享自微信公众号 - 面向对象思考(OOThinkingDalian),作者:面向对象思考

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-05-30

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C++核心准则ES.74:尽量在循环变量初始化表达式中定义循环变量​

    Limit the loop variable visibility to the scope of the loop. Avoid using the loo...

    面向对象思考
  • C++核心准则​ES.71: 如果可以,使用范围for代替普通的for语句

    Readability. Error prevention. Efficiency.

    面向对象思考
  • C++核心准则ES.101:使用无符号类型进行位操作

    ES.101: Use unsigned types for bit manipulation

    面向对象思考
  • C++核心准则ES.74:尽量在循环变量初始化表达式中定义循环变量​

    Limit the loop variable visibility to the scope of the loop. Avoid using the loo...

    面向对象思考
  • C++核心准则​ES.71: 如果可以,使用范围for代替普通的for语句

    Readability. Error prevention. Efficiency.

    面向对象思考
  • 【Vue原理】NextTick - 源码版 之 宏微任务的抉择

    nextTick 已经写了三篇文章啦,这是最后一篇源码版,没看过的童鞋可以看看白话版简单了解下拉

    神仙朱
  • Codeforces 550 D. Regular Bridge

    \(>Codeforces \space 550 D. Regular Bridge<\)

    attack
  • 每日算法题:Day 21

    输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 输出描述: 对应每个测试案例,...

    算法工程师之路
  • Python中的循环退出举例及while

        [root@localhost 20171227]# python exit.py

    py3study
  • Codeforces 550 D. Regular Bridge

    \(>Codeforces \space 550 D. Regular Bridge<\)

    attack

扫码关注云+社区

领取腾讯云代金券