8

Douglas Crockfod 说,重构continue循环内部通常会更好。

为什么 continue 在循环中被认为是坏的?

4

3 回答 3

7

使用continue将意味着您的while.

您应该改为ifwhile循环中使用,或将条件添加到while循环中。

于 2011-02-06T14:52:52.580 回答
4

在循环体内使用 goto、break、continue、throw 或 return 也会产生不希望的效果。这是循环控制和循环主体紧密交织的另一个示例。它像以前一样写1、2和3吗?你确定吗?

int value = 1;
    for (;;++value)
    {
        cout << value << endl;
        if (value != 4)
            continue;
        else
            break;
    }

您可能会认为建议您不要在循环体内使用 return 语句过于热心。我真的是这个意思吗?是的,我愿意。返回某些内容的函数应该通过函数末尾的单个 return 语句来执行此操作。以下是一些实际原因:

关联

免责声明:不是我的材料,我已经引用了源代码

于 2011-02-06T14:53:46.533 回答
1

的效果在continue某种程度上与goto循环开头的 a 相当。因此,它使您的代码更难理解 - 比如gotos.

于 2011-02-06T14:51:11.277 回答