C++ 98中如果要遍历一个数组,可以按照以下的方式:
void Testfor() { int array[] = { 1,2,3,4,5 }; for (int i = 0; i < sizeof(array) / sizeof(array[0]); ++i) { array[i] *= 2; } for (int* p = array; p < array + sizeof(array) / sizeof(array[0]); ++p) { cout << *p << endl; } }
C++ 11使用范围for:
void Testfor2() { int array[] = { 1,2,3,4,5 }; for (auto& e : array) { e *= 2; } for (auto e : array) { cout << e << endl; } }
在数组传参时,数组会降维成指针。此时不能使用范围for