Douglas Crockfod says that it is usually bette开发者_JAVA百科r to refactor the continue
inside the loop.
Why is continue considered bad within a loop?
The use of continue
would mean that you have insufficient conditions written in your while
.
You should instead use if
inside your while
loop, or add the condition into the while
loop.
Using goto, break, continue, throw, or return inside the loop body can all have the un-desired effect as well. Here's another example where the loop control and the loop body are tightly interwoven. Does it write 1, 2, and 3 as before? Are you sure?
int value = 1;
for (;;++value)
{
cout << value << endl;
if (value != 4)
continue;
else
break;
}
You might be thinking that advising you not to use return statements inside loop bodies is over zealous. Do I really mean that? Yes I do. Functions that return something should do so via a single return statement at the very end of the function. Here are some practical reasons why:
Link
Disclaimer: Not my material, I have referenced back to the source
The effect of continue
is somehow comparable to a goto
to the begin of the loop. It therefore makes your code more difficult to understand - like goto
s.
精彩评论