C++中数组作为参数时,获取数组长度的方法
我们都知道,数组作为参数传递时,实际上传递的是一个指针,采用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;
}