It could be good, or not.
One point about it is that this form does not explicitly specify the order of the iteration. Therefore I would only use it in cases where that is the intent, and even in that case, explicitly specify the type.
int main() {
int numberArray[] = {
100,
200,
300,
400,
500
};
for (int number: numberArray) {
cout << number << " ";
}
return 0;
}
prints: 100 200 300 400 500 …. or does it? why not: 300 200 500 400 100 …. ?
We really need a loop like this, or better yet .. one that supports parallel operation. This would have been a good place to introduce it.