数组作为参数传递时,实际上传递的是一个指针,采用sizeof的方法,获取到的是指针的长度。
那么有没有方法获取到它的长度呢?
#include <iostream>
using namespace std;
template<class T>
int length(T& data)
{
return sizeof(data)/sizeof(data[0]);
}
int main()
{
int data[]={2,45,7,8,9,23,4,6,7,8,0};
cout<<length(data)<<endl;//输出11
system("pause");
return 0;
}