代码改变世界

二维数组传参数

2024-02-28 22:13  钟铧若岩  阅读(7)  评论(0编辑  收藏  举报
1   array< array<int,5> ,5> arr;
2   for(int ii = 0;ii<arr.size();ii++)
3   {
4     for(int jj=0;jj<arr[ii].size();jj++)
5     {
6       arr[ii][jj] = jj*10+ii ;
7     }
8   }
9   func(arr);
 1 template<typename T>
 2 void func(const T& arr)
 3 {
 4   for(int ii =0;ii<arr.size();ii++)
 5   {
 6     for(int jj = 0;jj<arr[ii].size();jj++)
 7     {
 8       cout << arr[ii][jj]<<" ";
 9     }
10     cout<<endl;
11   }
12 }

上面这种方法更高效

Vs

1 int bb[10][5];
2     for (int ii = 0; ii < 10; ii++) {
3         for (int jj = 0; jj < 5; jj++) {
4             bb[ii][jj] = jj * 10 + ii;
5         }
6     }
7     func1(bb,10);
8     
1 void func1(int (*arr)[5], int n) {
2     for (int ii = 0; ii < n; ii++) {
3         for (int jj = 0; jj < 5; jj++) {
4           cout<< arr[ii][jj] <<" ";
5         }
6         cout<<endl;
7     }
8 }