struct dim
{
int dim1;
int dim2;
};
template<typename _T, int DIM1, int DIM2>
dim get_size(_T(&)[DIM1][DIM2])
{
dim x = {DIM1, DIM2};
return x;
}
int main()
{
int x[5][6];
dim d = get_size(x);
cout<<d.dim1<<endl<<d.dim2<<endl;
}
但这方法得不到动态的下标.
这个方法也不错!
假设int a[5][10];
10这一维可以这样得到:sizeof(a[0])/sizeof(int)
5这一维可以这样得到: sizeof(a)/sizeof(a[0])/sizeof(int)