c++数组遍历十种方式
2019-11-09 19:20:13
供稿:网友
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; }}//范围forfor (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; }}//类别名+范围forfor (int_array &p : ia){ for (int q : p) { cout << q << endl; }}//autofor (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+范围forfor (auto &p : ia){ for (auto q : p) { cout << q << endl; }}