宏定义求数组的最大维数
定义一个宏 DIM(a)int a[10];
int b[4][5];
double c[7][9][4];
调用宏后结果
DIM(a) = 10;
DIM(b) = 5;
DIM(c) = 9;
也就是算出多维数组里面维度最大的那个值 并且数组类型不确定
2011-06-23 10:56
2011-06-23 11:50
2011-06-23 11:53
程序代码:#include<iostream>
using namespace std;
#define DIM(array) func(array)
template<class T, int size>
int func(const T(&a)[size])
{
return size > func(a[0]) ? size : func(a[0]);
}
int func(...)
{
return 0;
}
int main()
{
int a[10];
char b[4][5];
double c[7][9][4];
cout <<DIM(a) <<endl;
cout <<DIM(b) <<endl;
cout <<DIM(c) <<endl;
return 0;
}
2011-06-23 22:14
...............
2011-06-24 09:05
2011-06-24 17:54
2011-06-24 21:27