在放置多个条件时For循环是否有限制?

时间:2017-12-22 01:31:41

标签: c++ for-loop restrictions

将多个条件放入for循环中吗?

例如:

bool b = true;
for (int i = 0; i < 100 && b; i++)
    b = changeB(i); //Imagine this does something with b

所以我说,将这种条件置于for循环中是不正确的。任何具体原因?还是做得好?

2 个答案:

答案 0 :(得分:1)

  

为什么将多个条件放入for循环中不应该没问题?

没关系。

  

所以我说,将这种条件置于for循环中是不正确的。任何具体原因?

我怀疑那个说出来的人可能知道他们意见的具体原因。

如果你想象一系列条件表达式比前一个条件表达式更复杂,那么条件变得过于复杂以至于无法理解。在这一点上,表达式变得过于复杂,无法在循环条件下读取,这是非常主观的。

有趣的是,即使MISRA指南 - 其中一些主观愚蠢和限制 - 明确允许使用“其他”循环控制变量。

答案 1 :(得分:0)

没关系,但最重要的是拥有明确的变量名称。例如,B不是一个描述性足够的名称。