首页 > 代码库 > c++ 遍历多维数组的10种方式

c++ 遍历多维数组的10种方式

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;    }}

 

c++ 遍历多维数组的10种方式