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.