#include "iostream"
#include "array"
using namespace::std;
//void func(int arr[][5],int len)
//{
// for (int ii = 0; ii < 10; ++ii) {
// for (int jj = 0; jj < 5; ++jj) {
// cout<<arr[ii][jj]<<" ";
// }
// cout<<endl;
// }
//}
//
//void func(const array<array<int,5>,10>&arr)
//{
// for (int ii = 0; ii < arr.size(); ++ii) {
// for (int jj = 0; jj < arr[ii].size(); ++jj) {
// cout<<arr[ii][jj]<<" ";
// }
// cout<<endl;
// }
//}
template<typename T>
void func(const T&arr)
{
for (int ii = 0; ii <arr.size() ; ++ii) {
for (int jj = 0; jj < arr[ii].size(); ++jj) {
cout<<arr[ii][jj]<<" ";
}
cout<<endl;
}
}
int main()
{
//int aa[10]={1,2,3,4,5,6,7,8,9,10};//一维数组。
array<int,10>aa={1,2,3,4,5,6,7,8,9,10};//一维数组。
// for (int ii = 0; ii < 10; ++ii) {//传统的方法。
// cout<<aa[ii]<<" ";
// }
// cout<<endl;
//
// for (auto val:aa) {//利用array的size()方法.
// cout<<val<<" ";
// }
// cout<<endl;
//
// for (auto it = aa.begin(); it < aa.end(); it++) {//使用迭代器
// cout<<*it<<" ";
// }
// cout<<endl;
// for (auto val:aa) {//基于范围的for循环。
// cout<<val<<" ";
// }
// cout<<endl;
//对二维函数赋值
// int bb[10][5];
// for (int ii = 0; ii < 10; ++ii) {
// for (int jj = 0; jj < 5; ++jj) {
// bb[ii][jj]=jj*10+ii;
// }
// }
//
// func(bb,10);//把二维数组传值给函数
array<array<int,5>,10> bb;
for (int ii = 0; ii < bb.size(); ++ii) {
for (int jj = 0; jj < bb[ii].size(); ++jj) {
bb[ii][jj]=jj*10+ii;
}
}
func(bb);//把二维数组传给函数
}
输出:
0 10 20 30 40
1 11 21 31 41
2 12 22 32 42
3 13 23 33 43
4 14 24 34 44
5 15 25 35 45
6 16 26 36 46
7 17 27 37 47
8 18 28 38 48
9 19 29 39 49
发表回复