int ia[3][4] = {1,2,3,4,5,6,7,8}; //下标 for (int i = 0; i < 3; i++) { for (int j = 0; j < 4; j++) { cout << ia[i][j] << endl; } } //指针 for (int(*p)[4] = ia; p != ia + 3; p++) { for (int *q = *p; q != *p + 4; q++) { cout << *q << endl; } } //指针,迭代 for (int(*p)[4] = begin(ia); p != end(ia); p++) { for (int* q = begin(*p); q != end(*p); q++) { cout << *q << endl; } } //范围for for (int (&p)[4] : ia) { for (int q : p) { cout << q << endl; } } typedef int int_array[4]; //类别名+指针 for (int_array* p = ia; p != ia + 3; p++) { for (int* q = *p; q != *p + 4; q++) { cout << *q << endl; } } //类别名+迭代 for (int_array *p = begin(ia); p != end(ia); p++) { for (int* q = begin(*p); q != end(*p); q++) { cout << *q << endl; } } //类别名+范围for for (int_array &p : ia) { for (int q : p) { cout << q << endl; } } //auto for (auto p = ia; p != ia + 3; p++) { for (auto q = *p; q != *p + 4; q++) { cout << *q << endl; } } //auto+迭代 for (auto p = begin(ia); p != end(ia); p++) { for (auto q = begin(*p); q != end(*p); q++) { cout << *q << endl; } } //auto+范围for for (auto &p : ia) { for (auto q : p) { cout << q << endl; } }